Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在Laravel 5.4中存储和检索存储的文件_Php_Laravel 5 - Fatal编程技术网

Php 在Laravel 5.4中存储和检索存储的文件

Php 在Laravel 5.4中存储和检索存储的文件,php,laravel-5,Php,Laravel 5,一个简单的场景: 1) 符号链接公共/存储到存储/应用/公共使用 php artisan storage:link 2) 使用上载文件 $path = $request->file('avatar')->store('avatars'); 3) 据我所知,我应该能够访问这个url下的文件——`www.example.com/storage/avatars/avatar.jpg 然而,我在第三步中得到的路径实际上是public/avatars/avatar.jpg,因此我最终将“p

一个简单的场景:

1) 符号链接公共/存储到存储/应用/公共使用

php artisan storage:link
2) 使用上载文件

$path = $request->file('avatar')->store('avatars');
3) 据我所知,我应该能够访问这个url下的文件——`www.example.com/storage/avatars/avatar.jpg

然而,我在第三步中得到的路径实际上是public/avatars/avatar.jpg,因此我最终将“public/”部分替换为“”以获得正确的路径

似乎我遗漏了什么,但我就是找不到确切的内容


谢谢你的帮助

使用公共磁盘时,应将文件存储在公共磁盘中

您可以在store函数的第二个参数中指定磁盘

$path = $request->file('avatar')->store(
    'avatars', 'public'
);
这确保文件存储在
storage/app/public
中,公共目录中的
storage
符号链接指向
storage/app/public

现在,您可以简单地使用:

asset('storage/avatars/avatar.jpg');
它将从
storage/app/public/avatars/avatar.jpg



您可能需要检查
storeAs
来重命名文件名,或者使用子目录来确保文件名是唯一的。

Dude,太完美了:)