我正在使用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的末尾。有没有办法不涉及创建用户登录系统?
答案 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可能会允许在申请文件夹之外放置上传内容。