Laravel无法创建根目录

时间:2017-12-28 20:29:53

标签: php laravel laravel-5 laravel-filesystem

我已经查看了关于此的其他帖子,我的某些原因似乎是独一无二的

基本上我要做的是将上传的照片存储在公共目录中以便于访问,但是当我存储它们时,我试图将它们存储在用户特定的文件夹中,所以

/public/photos/$User->id/$filename.jpg

现在我有Dropzone上传文件,我已经添加到我的filesystem.php这句话

'public_uploads' => [
  'driver' => 'local',
  'root'   => public_path(),
],

所以从理论上来说,当我使用

访问它时
Storage::disk('public_uploads') 

它应该检索正确的路径

这是我的控制器

$User = User::find(Auth::user()->id);
$Photo = Request::file('photo');
Storage::disk('public_uploads')->put("photos/$User->id", $Photo);

然后我在上传时从Laravel收到此错误

{message: "Impossible to create the root directory "/censoredfilesystem/public/Photos/1".",…}

不知道这段时间来自哪里,我们非常感谢任何帮助

全部谢谢!

  • 扎克

3 个答案:

答案 0 :(得分:8)

通过根据评论设置权限来修复它,我使用

chown -R www-data:root .

在我的目录

的根目录中

答案 1 :(得分:-1)

首先,删除这些文件夹

/public/storage

/storage/app/public

然后运行以下命令

php artisan storage:link

答案 2 :(得分:-2)

在Centos和Nginx中:

sudo chown -R nginx:root public/duck/