基本用法
最后更新于:2022-04-01 15:08:09
可以用 Storage facade 操作所有写在配置文件里的硬盘。或者是,你也可以将 Illuminate\Contracts\Filesystem\Factory 类型提示写到任何类里,经由 Laravel 的 服务容器 解析。
## 取得一个特定硬盘
~~~
$disk = Storage::disk('s3');
$disk = Storage::disk('local');
~~~
## 确认文件是否存在
`$exists = Storage::disk('s3')->exists('file.jpg');`
## 使用默认硬盘调用方法
~~~
if (Storage::exists('file.jpg'))
{
//
}
~~~
## 取得文件内容
`$contents = Storage::get('file.jpg');`
## 配置文件内容
`Storage::put('file.jpg', $contents);`
## 加入内容到文件开头
`Storage::prepend('file.log', 'Prepended Text');`
## 附加内容到文件结尾
`Storage::append('file.log', 'Appended Text');`
## 删除文件
~~~
Storage::delete('file.jpg');
Storage::delete(['file1.jpg', 'file2.jpg']);
~~~
## 复制文件到新的路径
`Storage::copy('old/file1.jpg', 'new/file1.jpg');`
## 移动文件到新的路径
`Storage::move('old/file1.jpg', 'new/file1.jpg');`
## 取得文件大小
`$size = Storage::size('file1.jpg');`
## 取得最近修改时间 (UNIX)
`$time = Storage::lastModified('file1.jpg');`
## 取得目录下所有文件
~~~
$files = Storage::files($directory);
// Recursive...
$files = Storage::allFiles($directory);
~~~
## 取得目录下所有子目录
~~~
$directories = Storage::directories($directory);
// Recursive...
$directories = Storage::allDirectories($directory);
~~~
## 建立目录
`Storage::makeDirectory($directory);`
## 删除目录
`Storage::deleteDirectory($directory);`