Laravel 的文件存储 - Storage

文章目录

    记录一下 Laravel Storage 的常见用法

    内容写入磁盘文件

    > php artisan tinker
    >>> use Illuminate\Support\Facades\Storage;
    >>> Storage::put('test.txt', 'hello');
    => true
    
    ls storage/app/
    public/  test.txt
    

    文件默认创建在 project/storage/app 目录下

    获取文件存储的本地磁盘全路径

    继续在 tinker 中测试一下

    >>> storage_path()
    => "/home/zhongwei/work/my_project/storage"
    >>> storage_path('test.txt')
    => "/home/zhongwei/work/my_project/storage/test.txt"
    >>> storage_path('app/test.txt')
    => "/home/zhongwei/work/my_project/storage/app/test.txt"
    

    可见,应该是 storage_path(‘app/test.txt’)

    删除文件

    >>> Storage::delete('test.txt')
    => true
    

    文件默认存储路径是在哪里设置的

    Config/filesystems.php

        'disks' => [
    
            'local' => [
                'driver' => 'local',
                'root' => storage_path('app'),
            ],
    
            'public' => [
                'driver' => 'local',
                'root' => storage_path('app/public'),
                'url' => env('APP_URL').'/storage',
                'visibility' => 'public',
            ],
    

    Local.root 指定的即是默认路径。

    判断一个文件是否存在

    >>> Storage::put('public/test.txt', 'hello');
    => true
    >>> Storage::exists('public/test.txt');
    => true
    >>> Storage::exists('public/test1.txt');
    => false
    

    关于作者 🌱

    我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式