无法写入laravel中的公用文件夹

时间:2014-10-15 10:56:47

标签: php laravel laravel-4

我正在尝试管理我的文件上传,但似乎我无法写入文件夹public/uploads。 我有写权限,所以我不确定它是什么,有人看到了拼写错误吗?

我使用介入/图片库。

我的代码是:

$file = Input::file($fileName);

if ($file->isValid()) {
    if ($file->getMimeType() == 'image/jpeg' || $file->getMimeType() == 'image/png') {
        $path = public_path("uploads", $file->getClientOriginalName());
        Image::make($file->getRealPath())->resize(180, null)->save($path);
    } else {
        throw new FileException;
    }
}

抛出的异常是:

Intervention \ Image \ Exception \ NotWritableException

Can't write image data to path (/home/vagrant/Sites/cms/public/uploads)

2 个答案:

答案 0 :(得分:5)

我发现了错字......

我有: $path = public_path("uploads", $file->getClientOriginalName());

更改为: $path = public_path("uploads/" . $file->getClientOriginalName());

感谢您的快速回答!

答案 1 :(得分:1)

您需要检查文件夹及其父文件夹的权限。如果您使用的是linux,那么它应该是644.单个文件夹可能具有写访问权限,但父文件夹可能没有;或者它可能是错误的用户。检查所有权组。