82

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

有这样做的框架方法吗?我搜索了文档,但找不到。

4

6 回答 6

82

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

来自Laravel 5.0 文档

存储路径

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

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

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

$path = storage_path('app/file.txt');
于 2015-03-27T13:11:15.587 回答
79

在 Laravel 3 中,调用path('storage').

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

于 2013-05-16T21:09:32.587 回答
32

对于 Laravel 版本 >=5.1

存储路径()

storage_path函数返回存储目录的完全限定路径:

$path = storage_path();

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

$app_path = storage_path('app');
$file_path = storage_path('app/file.txt');

来源: Laravel 文档

于 2017-05-23T12:25:17.410 回答
4

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

php artisan storage:link

比您可以访问已发布的 img 或文件

于 2019-05-07T16:53:16.797 回答
0

您可以使用该storage_path();功能获取存储文件夹路径。

storage_path(); // Return path like: laravel_app\storage

假设您要将日志文件保存mylog.log在存储文件夹的日志文件夹中。你必须写一些像

storage_path() . '/LogFolder/mylog.log'

于 2018-09-11T11:02:29.090 回答
0

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');

于 2022-01-24T13:28:09.340 回答