Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann man in PHP zuverlässig feststellen, ob ein Verzeichnis leer ist?

Wie kann man in PHP zuverlässig feststellen, ob ein Verzeichnis leer ist?

DDD
Freigeben: 2024-10-26 10:09:02
Original
809 Leute haben es durchsucht

How to Reliably Determine if a Directory is Empty in PHP?

Ermitteln des Leerstatus eines Verzeichnisses in PHP

Um festzustellen, ob ein Verzeichnis keine Dateien enthält, besteht ein gängiger Ansatz darin, die integrierten Funktionen von PHP zu verwenden wie Glob oder Scandir. Allerdings können diese Techniken bestimmte versteckte Dateien übersehen. Um die Genauigkeit sicherzustellen, sollten Sie die Verwendung der Funktion is_dir_empty() in Betracht ziehen.

Funktion is_dir_empty()

Die Funktion is_dir_empty() verwendet scandir, um den Inhalt eines Verzeichnisses zu überprüfen. Wenn nur die Verzeichnisse. (aktuelles Verzeichnis) und .. (übergeordnetes Verzeichnis) vorhanden sind, gilt das Verzeichnis als leer und gibt True zurück. Andernfalls wird False zurückgegeben, was auf das Vorhandensein anderer Dateien oder Unterverzeichnisse hinweist.

Beispielimplementierung

<code class="php">function is_dir_empty($dir) {
  return (count(scandir($dir)) == 2);
}</code>
Nach dem Login kopieren

Alternative Funktion

Alternativ verwendet eine effizientere Methode opendir und readdir, um direkt auf das Vorhandensein von Dateien zu prüfen, ohne sie vollständig zu lesen.

<code class="php">function dir_is_empty($dir) {
  $handle = opendir($dir);
  while (false !== ($entry = readdir($handle))) {
    if ($entry != "." &amp;&amp; $entry != "..") {
      closedir($handle);
      return false;
    }
  }
  closedir($handle);
  return true;
}</code>
Nach dem Login kopieren

Funktion in Kontrollstrukturen verwenden

Einmal Wenn Sie die entsprechende Funktion identifiziert haben, können Sie deren Ausgabe ohne Zwischenvariablen direkt in Kontrollstrukturen nutzen. Zum Beispiel:

<code class="php">if (is_dir_empty($dir)) {
  echo "The folder is empty.";
} else {
  echo "The folder is NOT empty.";
}</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann man in PHP zuverlässig feststellen, ob ein Verzeichnis leer ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage