我想将上传的图像存储到基于 Laravel 的 Web 应用程序的 Laravelstorage
目录的子目录中。它是与“应用程序”和“公共”目录处于同一层次结构级别的目录。
有这样做的框架方法吗?我搜索了文档,但找不到。
对于 Laravel 5.x,使用$storage_path = storage_path()
.
存储路径
获取
storage
目录的完全限定路径。
另请注意,对于 Laravel 5.1 及更高版本,根据 Laravel 5.1 文档:
您还可以使用该
storage_path
函数生成相对于存储目录的给定文件的完全限定路径:$path = storage_path('app/file.txt');
在 Laravel 3 中,调用path('storage')
.
在 Laravel 4 中,使用storage_path()
辅助函数。
该storage_path
函数返回存储目录的完全限定路径:
$path = storage_path();
您还可以使用该storage_path
函数生成相对于存储目录的给定文件的完全限定路径:
$app_path = storage_path('app');
$file_path = storage_path('app/file.txt');
来源: Laravel 文档
使用此工匠命令在公用文件夹中创建快捷方式
php artisan storage:link
比您可以访问已发布的 img 或文件
您可以使用该storage_path();
功能获取存储文件夹路径。
storage_path(); // Return path like: laravel_app\storage
假设您要将日志文件保存mylog.log
在存储文件夹的日志文件夹中。你必须写一些像
storage_path() . '/LogFolder/mylog.log'
Laravel 8.x <
如果默认磁盘中的文件:/storage/app/public/file.jpg,则:
$path = Storage::path('file.jpg');
如果文件在不同的存储中。例如:/storage/app/storage-dir/sub-dir/file.txt
Storage::disk('storage-dir')->path('sub-dir/file.txt')
$path 将是“/var/www/project1/storage/app/storage-dir/sub-dir/file.txt”
还有url()
$path = Storage::disk('storage-dir')->url('sub-dir/file.txt');
这将返回如下路径:/storage/sub-dir/file.txt
对于早期的 Laravel 版本:
storage_path('app/file.txt');