可以用 Storage facade 操作所有写在配置文件里的硬盘。或者是,你也可以将 IlluminateContractsFilesystemFactory 类型提示写到任何类里,经由 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);