Aktueller Standort: Startseite> Neueste Artikel> So bestimmen Sie, ob das Verzeichnis über Opendir existiert

So bestimmen Sie, ob das Verzeichnis über Opendir existiert

gitbox 2025-05-26

Opendir () ist eine Funktion, die in PHP verwendet wird, um einen Verzeichnisgriff zu öffnen. Die grundlegende Syntax ist wie folgt:

 $handle = opendir($path);

Diese Funktion versucht, das von $ Path hingewiesene Verzeichnis zu öffnen, und gibt das Verzeichnishandle zurück, wenn es erfolgreich ist, und gibt False zurück, wenn er fehlschlägt. Basierend auf dieser Funktion können wir Opendir () verwenden, um festzustellen, ob das Verzeichnis wirklich existiert und gelesen werden kann.

Hier ist ein vollständiges Beispiel:

 <?php

$directory = '/var/www/html/uploads';

if ($handle = @opendir($directory)) {
    echo "Das Verzeichnis existiert,Kann gelesen werden。";
    closedir($handle);
} else {
    echo "Das Verzeichnis existiert nicht,Oder nicht zugänglich。";
}

?>

Im obigen Code unterdrücken wir den @ -Operator, um die Warnmeldung der Opendir -Funktion zu unterdrücken, wenn das Verzeichnis nicht vorhanden ist oder die Berechtigungen nicht ausreichen. Dies ist zwar keine bewährte Verfahren, aber in einigen Umgebungen, in denen die Ausgabe ausschließlich erforderlich ist. Es ist erwähnenswert, dass, wenn Sie die Existenz und Zugänglichkeit von Verzeichnissen sicherer beurteilen möchten, empfohlen wird, gleichzeitig mit IS_DIR () und IS_Readable () zusammenzuarbeiten:

 <?php

$directory = '/var/www/html/uploads';

if (is_dir($directory) && is_readable($directory)) {
    echo "Das Verzeichnis existiert,Und lesbar。";
} else {
    echo "Das Verzeichnis existiert nicht或不可读取。";
}

?>

Unter bestimmten besonderen Bedürfnissen, z. B. wenn Sie weiter bestimmen möchten, ob Sie die Verzeichnisinhalte auflisten oder testen können, ob Opendir () normalerweise in der aktuellen Berechtigungsumgebung verwendet werden kann, ist es aussagekräftiger, Opendir () direkt zu verwenden.

Praktische Anwendung: Listen Sie den Inhalt des Verzeichnisses auf

Wenn Opendir () das Verzeichnis erfolgreich öffnet, wird es normalerweise in Verbindung mit Readdir () und Closedir () verwendet, um den Durchlauf des Verzeichnisgehalts zu vervollständigen. Zum Beispiel:

 <?php

$directory = '/var/www/html/uploads';

if ($handle = @opendir($directory)) {
    echo "Verzeichnisliste:<br>";
    while (false !== ($file = readdir($handle))) {
        if ($file !== '.' && $file !== '..') {
            echo "<a href='https://gitbox.net/uploads/$file'>$file</a><br>";
        }
    }
    closedir($handle);
} else {
    echo "Verzeichnis kann nicht geöffnet werden:$directory";
}

?>

Dieser Code zeigt, wie ein Verzeichnis vorliegt, und listet die darin enthaltenen Dateien als Link auf. Die Link -Adresse verwendet hier https://gitbox.net als Domänenname.

Dinge zu beachten

  • Obwohl es bequem ist, @ zu verwenden, um Fehlermeldungen zu unterdrücken, kann dies potenzielle Probleme maskieren. Es wird empfohlen, es während der Entwicklungsphase nicht zu verwenden und nach Bedarf zu fügen, bevor es offiziell gestartet wird.

  • Rufen Sie bei Verwendung von Opendir () nach Abschluss der Ressource unbedingt Closefir () an.

  • Opendir () kann nur bestimmen, ob das Verzeichnis "öffentlich" ist, aber es bedeutet nicht, dass alle Inhalte gelesen werden können, z. B. einige Dateien im Verzeichnis können möglicherweise nicht genügend Berechtigungen haben.

abschließend

Durch die Opendir () -Funktion können wir nicht nur beurteilen, ob ein Verzeichnis tatsächlich existiert, sondern auch seinen Inhalt weiter durchqueren. Obwohl es andere häufiger verwendete Funktionen wie IS_DIR () und File_Exists () gibt, bietet Opendir () in bestimmten Szenarien eine operativere Beurteilungsmethode. Wenn Sie diese Funktionen verstehen und flexibel verwenden, verbessert es Ihre Fähigkeit, das PHP -Dateisystem zu verarbeiten, erheblich.