Was ist das Gegenstück:Wie überprüft man, ob ein Verzeichnis mit Storage :: facade in Laravel existiert?
if (!File::exists($path))
mit Storage::
in Laravel 5.1?
Jeder?
Was ist das Gegenstück:Wie überprüft man, ob ein Verzeichnis mit Storage :: facade in Laravel existiert?
if (!File::exists($path))
mit Storage::
in Laravel 5.1?
Jeder?
Try this:
// 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');
Wenn Sie ein Verzeichnis überprüfen möchten, versuchen Sie dies:
if (Storage::directories($directory)->has('someDirectory')) {
....
Ich denke 'exists' funktioniert nur mit Laravel 5.2. Ist es nicht? – prava
Nein, es funktioniert seit 5.0 (nicht sicher über Laravel 4 though): https://laravel.com/docs/5.0/filesystem#basic-usage –
Aber wie 'https://laravel.com/docs/5.1/filesystem', kann die Methode 'has' verwendet werden, um festzustellen, ob eine bestimmte Datei auf dem Datenträger vorhanden ist. – prava
Sie alle Verzeichnisse abrufen Überprüfen Sie als Array, ob das Verzeichnis (Pfad) da ist.
$dir = 'dir/path';
$existingDirs = Storage::disk(env('FILE_SYSTEM'))->allDirectories();
if (!in_array($dir, $existingDirs)) {
// dir doesn't exist so create it
}
Ironischerweise ist dies der einzige, der die gestellte Frage tatsächlich beantwortet, obwohl es kein effizienter Weg ist, dies zu tun. – Jason
$ existiert = Speicher :: Disk ('local') -> hat ('dirname');
in Laravel 5.4 $ exists = Speicher :: Festplatte ('public') -> exists ('images/test_image.jpg'); - mit 'public', die
'public' => [
'driver' => 'local',
'root' => public_path(),
'url' => env('APP_URL').'/public',
'visibility' => 'public',
],
'images/test_image.jpg' ist der Pfad des Bildes in filesystem.php Config wurde.
Es gibt zwei Dinge zu überprüfen: (1) dass der Pfad existiert, und (2) dass der Pfad ein Verzeichnis ist.
Dies wird den Pfad überprüfen existiert (Syntax für Laravel 5.2+), egal ob es sich um eine Datei oder ein Verzeichnis ist:
Storage::exists('your-path') // bool
Sobald Sie es existiert wissen, wird dies den Weg bestätigen ist ein Verzeichnis :
Storage::getMetadata('your-path')['type'] === 'dir'
die zugrunde liegende Flysystem
Bibliothek cachen, was es kann, wenn das Dateisystem Inspektion (die lokal oder entfernt sein können), so unter normalen Umständen diese beiden Funktionen nur einen Anruf auf das Dateisystem machen.
Wenn Sie überprüfen möchten, ob ein Verzeichnis existiert und eines erstellen, falls es nicht existiert, wird dieser Code für Sie funktionieren.
if(!Storage::exists('/path/to/your/directory')) {
Storage::makeDirectory('/path/to/create/your/directory', 0775, true); //creates directory
}
reden über ein Verzeichnis, nicht Datei. – Chriz74
@ Chriz74 Die 'exists'-Funktion funktioniert gut für Verzeichnisse, so dass' -> exists ('dirname'); 'funktioniert. – DisgruntledGoat
Verzeichnisse sind nur Dateien, die Dateien enthalten. –