Heim > Artikel > Backend-Entwicklung > PHP ermittelt, ob Bilder in einem Ordner vorhanden sind
Bei der Entwicklung von PHP-Programmfällen muss häufig festgestellt werden, ob ein bestimmter Dateityp in einem bestimmten Ordner vorhanden ist, beispielsweise Bilder. Diese Art der Beurteilung kann uns helfen, einige Probleme bei der Website-Entwicklung zu lösen. Wenn Benutzer beispielsweise Bilder hochladen, müssen sie überprüfen, ob die Bilder erfolgreich hochgeladen wurden. In diesem Artikel wird erläutert, wie PHP ermittelt, ob Bilder in einem Ordner vorhanden sind.
Es gibt viele Möglichkeiten festzustellen, ob die Bilddateien im Ordner vorhanden sind. Wir werden sie im Folgenden separat erläutern.
Methode 1: Verwenden Sie die Funktion glob().
Die Funktion glob() kann alle Dateien im Ordner abrufen, oder Sie können die Dateien mit dem angegebenen Suffixnamen im Ordner abrufen.
Zum Beispiel haben wir einen Ordner namens „my_folder“, der mehrere Bilddateien im JPG-Format enthält. Wir können den folgenden Code verwenden, um festzustellen, ob sich JPG-Dateien im Ordner befinden:
$dir = "my_folder/"; $files = glob($dir . "*.jpg"); if (count($files) > 0) { echo "Folder contains jpg files"; } else { echo "Folder does not contain jpg files"; }
Der obige Code gibt zunächst $dir als Ordnerpfad an und verwendet dann die Funktion glob(), um alle JPG-Dateien abzurufen und im zu speichern $files-Array. Stellen Sie abschließend fest, ob die Datei im Array vorhanden ist. Wenn sie vorhanden ist, geben Sie „Ordner enthält JPG-Dateien“ aus. Wenn sie nicht vorhanden ist, geben Sie „Ordner enthält keine JPG-Dateien“ aus.
Der Vorteil der Verwendung der Funktion glob() besteht darin, dass Sie alle Dateien des angegebenen Typs abrufen können. Der Nachteil besteht jedoch darin, dass sie weniger effizient ist. Wenn sich eine große Anzahl von Dateien im Ordner befindet, wird das Programm blockiert einfrieren.
Methode 2: Verwenden Sie die Funktion scandir()
Die Funktion scandir() kann alle Dateien und Ordner im angegebenen Verzeichnis zurückgeben.
Zum Beispiel haben wir einen Ordner namens „my_folder“, der mehrere Bilddateien im JPG-Format enthält. Wir können den folgenden Code verwenden, um festzustellen, ob sich JPG-Dateien im Ordner befinden:
$dir = "my_folder/"; $files = scandir($dir); foreach($files as $file) { if (strtolower(pathinfo($file, PATHINFO_EXTENSION)) == "jpg") { echo "Folder contains jpg files"; break; } else { echo "Folder does not contain jpg files"; } }
Der obige Code gibt zuerst $dir als Ordnerpfad an und verwendet dann die Funktion scandir(), um alle Dateien und Ordner abzurufen und sie darin zu speichern das $files-Array. Verwenden Sie dann foreach, um das Array zu durchlaufen, verwenden Sie die Funktion pathinfo(), um die Erweiterung jeder Datei abzurufen, und bestimmen Sie dann, ob es sich um einen JPG-Typ handelt. Wenn ja, geben Sie „Ordner enthält JPG-Dateien“ aus. Wenn nicht, geben Sie „Ordner enthält keine JPG-Dateien“ aus.
Der Vorteil der Verwendung der Funktion scandir() besteht darin, dass sie effizienter ist, aber möglicherweise einige nutzlose Dateien wie .
Methode 3: Verwenden Sie die Funktion file_exists()
Die Funktion file_exists() kann ermitteln, ob die angegebene Datei vorhanden ist.
Zum Beispiel haben wir einen Ordner namens „my_folder“, der mehrere Bilddateien im JPG-Format enthält. Wir können den folgenden Code verwenden, um festzustellen, ob sich im Ordner eine JPG-Datei befindet:
$dir = "my_folder/"; $filename = $dir . "my_image.jpg"; if (file_exists($filename)) { echo "File exists"; } else { echo "File does not exist"; }
Der obige Code gibt zunächst $dir als Ordnerpfad und dann den Dateinamen an, den Sie suchen möchten. Verwenden Sie dann die Funktion file_exists(), um festzustellen, ob der Dateiname existiert. Wenn er existiert, wird „Datei existiert“ ausgegeben. Wenn er nicht existiert, wird „Datei existiert nicht“ ausgegeben.
Der Vorteil der Verwendung der Funktion file_exists() besteht darin, dass sie einfach und klar ist, aber sie kann nur feststellen, ob eine einzelne Datei vorhanden ist, und nicht feststellen, ob sich Dateien eines bestimmten Typs im Ordner befinden.
Fazit
Wenn PHP feststellt, ob das Bild im Ordner existiert, können wir die Funktion glob(), scandir() oder file_exists() verwenden. Welche Funktion Sie verwenden, hängt von der tatsächlichen Situation ab und Sie müssen entsprechend Ihren eigenen Bedürfnissen auswählen.
Unabhängig von der verwendeten Methode müssen wir bei der Feststellung, ob das Bild im Ordner vorhanden ist, auf den Pfad und Namen der Datei achten, um sicherzustellen, dass das Programm die angegebene Datei genau finden kann.
Das obige ist der detaillierte Inhalt vonPHP ermittelt, ob Bilder in einem Ordner vorhanden sind. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!