Laravel 5.8 - 如何将文件从存储目录移动到 public 目录?
Laravel 5.8 - How to move file from storage directory to public directory?
我想将我的一个文件从 Laravel 中的 storage
文件目录移动到 laravel 中的 public
文件目录,而不更改我的文件系统配置。这可能吗?
是的,你可以用 Storage::move and public_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
更新
不过,另一种方法可能是 move/store laravel-project/storage/app/public
中的文件。
然后通过 symbolic link.
在 public 目录中访问它
之后,laravel-project/storage/app/public
中的所有文件和目录将被linked 到laravel-project/public/storage/
目录。
然后你可以通过 url.
访问该文件
因此,要以这种方式进行,请将文件移动到 storage/app/public/ 文件夹:
Storage::move( 'old/file.jpg', 'public/movedfiles/file.jpg' );
通过此 artisan 命令创建符号 link:
php artisan storage:link
然后你可以通过url访问文件:
<a href='http://your-domain/storage/movedfiles/file.jpg'>file.jpg</a>
或 blade
<a href='{{ asset('storage/movedfiles/file.jpg') }}'>file.jpg</a>
我想将我的一个文件从 Laravel 中的 storage
文件目录移动到 laravel 中的 public
文件目录,而不更改我的文件系统配置。这可能吗?
是的,你可以用 Storage::move and public_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
更新
不过,另一种方法可能是 move/store laravel-project/storage/app/public
中的文件。
然后通过 symbolic link.
在 public 目录中访问它之后,laravel-project/storage/app/public
中的所有文件和目录将被linked 到laravel-project/public/storage/
目录。
然后你可以通过 url.
因此,要以这种方式进行,请将文件移动到 storage/app/public/ 文件夹:
Storage::move( 'old/file.jpg', 'public/movedfiles/file.jpg' );
通过此 artisan 命令创建符号 link:
php artisan storage:link
然后你可以通过url访问文件:
<a href='http://your-domain/storage/movedfiles/file.jpg'>file.jpg</a>
或 blade
<a href='{{ asset('storage/movedfiles/file.jpg') }}'>file.jpg</a>