Quelle est la contrepartie de:
if (!File::exists($path))
utiliser Storage::
dans Laravel 5.1?
N'importe qui?
Essaye ça:
// 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');
Si vous voulez vérifier un répertoire, essayez ceci:
if (Storage::directories($directory)->has('someDirectory')) {
....
Si vous voulez vérifier si un répertoire existe et en créer un s'il n'existe pas, ce code fonctionnera pour vous.
if(!Storage::exists('/path/to/your/directory')) {
Storage::makeDirectory('/path/to/create/your/directory', 0775, true); //creates directory
}
$exists = Storage::disk('local')->has('**dirname**');
Une autre façon pour Laravel 5.5 d’utiliser Storage Storage.
use Illuminate\Support\Facades\Storage;
if(Storage::exists('/mnt/files/file.jpg')) {
dd('file esxists');
} else {
dd('no file found');
}
Eh bien, vous pouvez facilement le faire via File Facade File::isDirectory($YOURDIRECTORYPATHHERE);
. Cela retournera un booléen basé sur l’existence!
Il y a deux choses à vérifier: (1) que le chemin existe et (2) que le chemin est un répertoire.
Cela vérifiera que le chemin existe (syntaxe pour Laravel 5.2+), qu’il s’agisse d’un fichier ou d’un répertoire:
Storage::exists('your-path') // bool
Une fois que vous savez qu'il existe, cela confirmera que le chemin est un répertoire:
Storage::getMetadata('your-path')['type'] === 'dir'
La bibliothèque Flysystem
sous-jacente mettra en cache ce qu'elle peut lors de l'inspection du système de fichiers (qu'il soit local ou distant). Ainsi, dans des circonstances normales, ces deux fonctions n'appelleront qu'un seul appel du système de fichiers.