2011-11-10 156 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') 
} 

有在这些例子中没有验证,但应该给你的基本理念。