【发布时间】:2015-07-16 09:33:34
【问题描述】:
尝试在我的服务器上保存图像时,在我的 laravel 5 项目中使用干预图像类,使用以下代码:
$pathFull = public_path('images/original/brand/' . $filename);
$img = Image::make($image->getRealPath());
$img->encode('jpg')->save($pathFull);
我得到错误:
NotWritableException in Image.php line 138:
Can't write image data to path
(/var/www/mydomain.com/public/images/original/brand/nanan.jpg)
所以我改变了文件夹(已经存在)的权限:
sudo chmod -R 775 /var/www/mydomain.com/public/images
我检查了它们的权限是 775,以便命令有效。我在本地尝试过(xampp),它工作得很好,而且干燥的路径也很好。仅当我不使用 777 时,我才会不断收到此错误,但这很危险。
我还能尝试什么来保持服务器保存而不使用 777?
【问题讨论】:
-
@maytham 图片不需要保护,为什么我要为图片使用路由?
-
@mayham 但我需要在公共场合使用 775 创建不必要的路线应该是非常安全的。
-
如果您认为这是可行的方法,那很好,伙计,这只是一个建议。
-
@maytham 感谢我可能会使用它的建议,但它不能解释为什么我现在不能写。我真的很想找出我做错了什么,这样我以后就可以避免它了
-
您解决了这个问题了吗?我已经检查了你的代码,如果你的公用文件夹在你的问题发生时有写权限,它应该可以正常工作,所以我不怀疑你的代码,我只怀疑你的系统/文件夹结构中有写权限的东西。