你如何获得Laravel Storage文件夹的路径?

Gar*_*tet 57 php laravel

我想将上传的图像存储到Laravel storage目录子目录中基于Laravel的Web应用程序中.它是与"应用程序"和"公共"目录在同一层次结构级别的目录.

这样做有框架方法吗?我搜索过文档但找不到文档.

Abi*_*hek 63

在Laravel 3中,致电path('storage').

在Laravel 4中,使用storage_path()辅助函数.


Mar*_*ery 57

对于Laravel 5.x,请使用$storage_path = storage_path().

来自Laravel 5.0文档:

storage_path

获取storage目录的完全限定路径.

另请注意,对于Laravel 5.1及更高版本,根据Laravel 5.1文档:

您还可以使用该storage_path函数生成相对于存储目录的给定文件的完全限定路径:

$path = storage_path('app/file.txt');
Run Code Online (Sandbox Code Playgroud)


Sag*_*ara 14

对于Laravel版本> = 5.1

storage_path()

storage_path函数返回存储目录的标准路径:

$path = storage_path();
Run Code Online (Sandbox Code Playgroud)

您还可以使用该storage_path函数生成相对于存储目录的给定文件的完全限定路径:

$app_path = storage_path('app');
$file_path = storage_path('app/file.txt');
Run Code Online (Sandbox Code Playgroud)

资料来源:Laravel Doc


Sad*_*dee 9

Laravel 8.x <

如果文件位于默认磁盘:/storage/app/public/file.jpg,则:

$path = Storage::path('file.jpg');
Run Code Online (Sandbox Code Playgroud)

如果文件位于不同的存储中。例如:/storage/app/storage-dir/sub-dir/file.txt

Storage::disk('storage-dir')->path('sub-dir/file.txt')
Run Code Online (Sandbox Code Playgroud)

$path 将是“/var/www/project1/storage/app/storage-dir/sub-dir/file.txt”

还有url()

$path = Storage::disk('storage-dir')->url('sub-dir/file.txt');
Run Code Online (Sandbox Code Playgroud)

这将返回如下路径:/storage/sub-dir/file.txt

对于早期的 Laravel 版本: storage_path('app/file.txt');


小智 5

使用此 artisan 命令在公共文件夹中创建快捷方式

php artisan storage:link
Run Code Online (Sandbox Code Playgroud)

您将能够访问发布的图片或文件