Ich möchte automatisch eine Liste aller Bilder in meinem öffentlichen Ordner erstellen, aber ich kann anscheinend kein Objekt finden, das mir dabei helfen könnte.
Die Klasse Storage
scheint ein guter Kandidat für den Job zu sein, aber ich kann nur Dateien innerhalb des Speicherordners durchsuchen, der sich außerhalb des öffentlichen Ordners befindet.
Sie könnten einen anderen Datenträger für die Storage-Klasse erstellen. Dies wäre meiner Meinung nach die beste Lösung.
Fügen Sie in config / filesystems.php im Festplatten-Array den gewünschten Ordner hinzu. In diesem Fall der Ordner public .
%Vor%Dann können Sie die Klasse Speicher folgendermaßen in Ihrem öffentlichen Ordner verwenden:
%Vor%Die Variable $ exists teilt Ihnen mit, ob Datei.jpg im Ordner public vorhanden ist, da die Speicherfestplatte 'public' öffentlich angezeigt wird Ordner des Projekts.
Sie können alle Sitzungen -Methoden aus der Dokumentation mit Ihrer benutzerdefinierten Festplatte verwenden. Fügen Sie einfach den Datenträger ('public') ein.
%Vor%Erwägen Sie die Verwendung von glob. Keine Notwendigkeit, Barebones PHP mit Hilfsklassen / Methoden in Laravel 5 zu komplizieren.
%Vor% Storage::disk('local')->files('optional_dir_name');
oder
array_filter(Storage::disk('local')->files(), function ($item) {return strpos($item, 'png');});
Beachten Sie, dass die Laravel-Festplatte files()
und allfiles()
hat. allfiles
ist rekursiv.