2011-11-10 154 views
0

我正在開發的應用程序需要從用戶處獲取PDF並對其進行修改,然後將其分發出去供其他用戶使用。Codeigniter:文件上傳

查看了目錄指南後,我發現您在配置文件路徑中提到的F​​ile Upload目錄必須啓用ftp chmod 777。

不幸的是,已經與公司已與託管檢查,我可以走出我們的FTP的最多的是755

問題1)

是否有笨另一種選擇做文件的上傳只需要chmod 755?

另外,我看着上傳到數據庫,而不是。最近相關的問題,我能找到如下:

codeigniter image uploading mysql

雖然我還發現,詳細介紹瞭如何在普通的任何文件上傳到數據庫,PHP(如以下)的文章,沒有那些我已經發現CodeIgniter集成是特定的。

文章:http://www.phpriot.com/articles/storing-images-in-mysql

問題2)

有誰知道是笨的特定文件上傳到數據庫中的任何教程?在我看來,這是使用文件系統的唯一另一種選擇。

+0

MMMmmm。嘗試了關於codeigniter的教程。看起來755有足夠的權限使用基於文件系統的解決方案進行上傳。我仍然想知道是否有數據庫類型的解決方案。另外,爲什麼777也是建議的權限設置? – Zigu

回答

5

聽起來像是你需要改變你的主機,如果不能CMOD其他任何事情,除了755

除此之外,在上傳文件的CodeIgniter不需要與文件上傳類完成。你可以自由使用你自己的方法。

控制器方法

public function save_file() 
{ 

    $file_data = file_get_contents($_FILES['user_file']['tmp_name']); 
    $file_name = $_FILES['user_file']['name']; 

    $this->database_file_model->insert($file_data, $file_name); 
    redirect('file/uploaded'); 

} 

數據庫文件模型方法

public function insert($data, $name) 
{ 
    $data['filedata'] = $data; 
    $data['filename'] = $name; 
    $this->db->insert('mytable', $data); 

    // Produces: INSERT INTO mytable (filedata, filename) VALUES (blob, 'Filename') 
} 

有在這些例子中沒有驗證,但應該給你的基本理念。