我已经查看了关于此的其他帖子,出于某种原因我的似乎是独一无二的
基本上我想做的是将上传的照片存储在公共(public)目录中以便于访问,但是当我存储它们时,我试图将它们存储在用户特定的文件夹中,所以
/public/photos/$User->id/$filename.jpg
现在我有 Dropzone 上传文件,我已经在我的 filesystem.php 中添加了这条语句
'public_uploads' => [
'driver' => 'local',
'root' => public_path(),
],
所以理论上,当我使用
访问它时Storage::disk('public_uploads')
它应该检索到正确的路径
这也是我的 Controller
$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".",…}
不知道这段时间是从哪里来的,非常感谢任何帮助
谢谢大家!
- 扎克
最佳答案
根据评论设置权限不知不觉地修复了,我用过
chown -R www-data:root .
在我的根目录
编辑:我使用了 www-data:root
,意思是将 Laravel 目录中所有内容的所有者设置为 www-data
(网络服务器)和 root
显然是 root
。如果你这样做,你应该使用非根用户或只是 www-data
关于php - Laravel 无法创建根目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48013965/