Laravel 5.8-如何将文件从存储目录移动到公共目录?

时间:2019-06-28 23:52:54

标签: php laravel file-storage

我想将其中一个文件从Laravel的storage文件目录移动到laravel的public文件目录,而无需更改文件系统配置。这可能吗?

1 个答案:

答案 0 :(得分:3)

是的,您可以使用Storage::movepublic_path()助手。

Storage::move( 'old/file.jpg', public_path('new/file.jpg') );

请注意,old/file.jpg是相对于your-project/storage/app的,因此您要移动的文件将位于your-project/storage/app/old/file.jpg


更新

不过,另一种方法可能是将文件移动/存储在laravel-project/storage/app/public中。

然后通过symbolic link在公共目录中对其进行访问。

之后,laravel-project/storage/app/public内的所有文件和目录都将链接到laravel-project/public/storage/目录。 然后您可以通过url访问该文件。

因此,要以这种方式执行此操作,请将文件移至storage / app / public /文件夹:

Storage::move( 'old/file.jpg', 'public/movedfiles/file.jpg' );

通过以下工匠命令创建符号链接:

php artisan storage:link

然后您可以通过url访问文件:

<a href='http://your-domain/storage/movedfiles/file.jpg'>file.jpg</a>

或刀片

<a href='{{ asset('storage/movedfiles/file.jpg') }}'>file.jpg</a>