【问题标题】:How do you get the path to the Laravel Storage folder?你如何获得 Laravel Storage 文件夹的路径?
【发布时间】:2013-05-11 22:25:07
【问题描述】:

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

是否有执行此操作的框架方法?我搜索了文档,但找不到。

【问题讨论】:

    标签: php laravel


    【解决方案1】:

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

    来自the Laravel 5.0 docs

    存储路径

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

    另请注意,对于 Laravel 5.1 及更高版本per the Laravel 5.1 docs

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

        对于 Laravel 版本 >=5.1

        storage_path()

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

        $path = storage_path();
        

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

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

        来源: Laravel Doc

        【讨论】:

        • 为了记录,对这个答案的反对意见是我的。我投了反对票,因为所有散文都是从文档中复制和粘贴的,但既没有用引号括起来,也没有格式化为块引用,这违反了我们的 referencing policy。我很抱歉现在只发表评论指出这一点;我以为我之前已经发表了评论,但显然没有。此外,我认为将有关 Laravel 5.1 的注释添加为我的答案(现已制作)的编辑比一开始作为独立答案更有用。
        【解决方案4】:

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

        php artisan storage:link
        

        比你可以访问张贴的 img 或文件

        【讨论】:

          【解决方案5】:

          您可以使用storage_path();函数获取存储文件夹路径。

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

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

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

          【讨论】:

            【解决方案6】:

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

            【讨论】:

              猜你喜欢
              • 2019-02-09
              • 2015-02-24
              • 1970-01-01
              • 2020-02-05
              • 2012-06-29
              • 1970-01-01
              • 2015-02-12
              • 2014-11-05
              • 2010-10-14
              相关资源
              最近更新 更多