0

当尝试在我的服务器上保存图像时,在我的 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?

4

1 回答 1

0

也许路径不一样。一探究竟。查看原始目录?

$pathFull = public_path('images/brand/thumb/' . $filename);

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/original/brand

我最近做了一个像你这样的方法。这对我来说可以。这里是:

$image = Input::file('image');
$filename = Input::file('image')->getClientOriginalName();
$path = public_path('images/' . Auth::user()->email . '/' . $filename);
$img = Image::make($image->getRealPath());
$img->encode('jpg')->save($path);
于 2015-07-16T01:14:15.197 回答