使用GroceryCrud,如何将上传内容置于应用程序根目录之上?

时间:2013-09-11 13:29:18

标签: codeigniter grocery-crud

我正在使用GroceryCRUD作为包含新闻发布的数据库的前端。现在,秘书可以轻松地在数据库中添加/编辑/删除新闻稿。只有合格的用户才能通过.htaccess密码访问应用程序根目录。这个问题是GroceryCRUD上传照片等资产上传到目录/ www / approot / assets / uploads /,这是受密码保护的,因为/ approot /受到保护。

我理想的解决方案是在应用程序根目录之外设置一个上传目录,这是我遇到麻烦的地方。默认情况下,这是GroceryCRUD处理上传的方式:

$this->grocery_crud->set_field_upload('photo1','assets/uploads/');

我尝试将其更改为以下内容:

$this->grocery_crud->set_field_upload('photo1','/public/assets/uploads/');

我希望这个/会使路径从文档根目录而不是应用程序根目录开始,但它会抛出此错误:

PHP Fatal error:  Uncaught exception 'Exception' with message 'It 
seems that the folder "/Users/myusername/www/approot//public/assets/uploads/" 
for the field name "photo1" doesn't exists.

这似乎表明CI或GroceryCRUD只接受set_upload字段中的第二个参数,并将其连接到定义的站点URL的末尾。有没有办法不涉及创建用户登录系统?

2 个答案:

答案 0 :(得分:0)

尝试使用相对路径。

$this->grocery_crud->set_field_upload('photo1','../assets/uploads/');

.. - >上一个目录

答案 1 :(得分:0)

我最终实现了本教程中概述的登录系统:

http://net.tutsplus.com/tutorials/php/easy-authentication-with-codeigniter/

设置并满足我的需求非常简单。我找到了使用httpd.conf指令访问目录的方法,但我觉得这是一个更可行的解决方案,因为我没有直接访问服务器配置文件。

将来GroceryCRUD可能会允许在申请文件夹之外放置上传内容。