对应的是什么:
if (!File::exists($path))
在Laravel 5.1中使用Storage::
?
任何?
答案 0 :(得分:25)
试试这个:
// To check if File exists in Laravel 5.1
$exists = Storage::disk('local')->has('file.jpg');
// To check if File exists in Laravel 5.2
$exists = Storage::disk('local')->exists('file.jpg');
答案 1 :(得分:10)
如果您想检查目录是否存在并创建一个目录(如果该目录不存在),则此代码将适用于您。
if(!Storage::exists('/path/to/your/directory')) {
Storage::makeDirectory('/path/to/create/your/directory', 0775, true); //creates directory
}
答案 2 :(得分:8)
如果要查看目录,请尝试以下操作:
if (Storage::directories($directory)->has('someDirectory')) {
....
答案 3 :(得分:2)
$exists = Storage::disk('local')->has('**dirname**');
答案 4 :(得分:2)
在laravel 5.4中
$exists = Storage::disk('public')->exists('images/test_image.jpg');
- 使用'public'
在filesystem.php中配置
'public' => [
'driver' => 'local',
'root' => public_path(),
'url' => env('APP_URL').'/public',
'visibility' => 'public',
],
'images/test_image.jpg'
是图像的路径。
答案 5 :(得分:2)
laravel 5.5使用Storage Facade的另一种方法。
use Illuminate\Support\Facades\Storage;
if(Storage::exists('/mnt/files/file.jpg')) {
dd('file esxists');
} else {
dd('no file found');
}
答案 6 :(得分:1)
您可以轻松使用Storage::isDirectory()
。
Storage::class
是\Illuminate\Filesystem\Filesystem
的实例,它包含方法isDirectory
,用于检查给定路径是否存在以及是否为目录。
if(Storage::isDirectory("images")){
// you code...
}
答案 7 :(得分:1)
if(!Storage::disk('ads')->exists(auth()->user()->id)) {
Storage::disk('ads')->makeDirectory(auth()->user()->id, 0775, true); //creates directory
}
答案 8 :(得分:0)
要检查两件事:(1)路径存在,(2)路径是目录。
这将检查路径是否存在(Laravel 5.2+的语法),无论是文件还是目录:
Storage::exists('your-path') // bool
一旦你知道它存在,这将确认路径是一个目录:
Storage::getMetadata('your-path')['type'] === 'dir'
底层Flysystem
库将在检查文件系统(可能是本地或远程)时缓存它,因此在正常情况下这两个函数只会调用一个文件系统。
答案 9 :(得分:0)
您可以通过File Facade File::isDirectory($YOURDIRECTORYPATHHERE);
轻松完成此操作,这将根据存在返回布尔值!
答案 10 :(得分:0)
if(!Storage::disk('public')->exists('your folder name'))
{
//what you want to do
}
答案 11 :(得分:0)
尝试此代码
if (!file_exists(Storage::path($pathToDir))) {
Storage::makeDirectory('path to directory', 0775, true);
// or any code
}
答案 12 :(得分:0)
答案 13 :(得分:-1)
您可以将所有目录检索为数组,然后检查目录(路径)是否存在。
$dir = 'dir/path';
$existingDirs = Storage::disk(env('FILE_SYSTEM'))->allDirectories();
if (!in_array($dir, $existingDirs)) {
// dir doesn't exist so create it
}