Laravel 5.5 文件系统

文件系统

// 获取硬盘实例
    Storage::put('avatars/1', $fileContents);
    Storage::disk('s3')->put('avatars/1', $fileContents);
// 获取文件
    $contents = Storage::get('file.jpg');
    $exists = Storage::disk('s3')->exists('file.jpg');

    (文件 URL)
        $url = Storage::url('file1.jpg');

        * 临时 URL
            $url = Storage::temporaryUrl(
                'file1.jpg', now()->addMinutes(5)
            );
    
    (文件元信息)
        $size = Storage::size('file1.jpg');
        $time = Storage::lastModified('file1.jpg');


// 存储文件
    Storage::put('file.jpg', $contents);
    Storage::put('file.jpg', $resource);

    (自动文件流)
        // 自动计算文件名的MD5值...
        Storage::putFile('photos', new File('/path/to/photo'));
        // 手动指定文件名...
        Storage::putFileAs('photos', new File('/path/to/photo'), 'photo.jpg');
    
    (添加内容到文件开头/结尾)
        Storage::prepend('file.log', 'Prepended Text');
        Storage::append('file.log', 'Appended Text');
    
    (拷贝 & 移动文件)
        Storage::copy('old/file1.jpg', 'new/file1.jpg');
        Storage::move('old/file1.jpg', 'new/file1.jpg');

// 文件上传
    $path = $request->file('avatar')->store('avatars');
    $path = Storage::putFile('avatars', $request->file('avatar'));

    (指定文件名)
        $path = $request->file('avatar')->storeAs(
            'avatars', $request->user()->id
        );
        $path = Storage::putFileAs(
            'avatars', $request->file('avatar'), $request->user()->id
        );
    
    (指定磁盘)
        $path = $request->file('avatar')->store(
            'avatars/'.$request->user()->id, 's3'
        );


// 删除文件
    Storage::delete('file.jpg');
    Storage::delete(['file1.jpg', 'file2.jpg']);
    Storage::disk('s3')->delete('folder_path/file_name.jpg');
    
// 目录
    (获取一个目录下的所有文件)
        $files = Storage::files($directory);
        $files = Storage::allFiles($directory);
    
    (获取一个目录下的所有子目录)
        $directories = Storage::directories($directory);
        // 递归...
        $directories = Storage::allDirectories($directory);
    
    (创建目录)
        Storage::makeDirectory($directory);
    
    (删除目录)
        Storage::deleteDirectory($directory);

猜你喜欢

转载自blog.csdn.net/qq_37910492/article/details/84546912