Zum Inhalt springen

dir()

Einführung

PHP ist eine beliebte serverseitige Skriptsprache, die zur Erstellung dynamischer Webseiten verwendet wird. Eine der wesentlichen Funktionen in PHP ist die dir()-Funktion, mit der Sie Verzeichnisse und Dateien auf dem Server bearbeiten können. In diesem Artikel werden wir die dir()-Funktion zusammen mit anderen Verzeichnisfunktionen in PHP untersuchen und erfahren, wie Sie sie zur Bearbeitung von Verzeichnissen und Dateien verwenden können.

Verzeichnisfunktionen in PHP verstehen

PHP bietet mehrere integrierte Funktionen zur Verzeichnisbearbeitung. Mit diesen Funktionen können Sie Verzeichnisse und Dateien erstellen, öffnen, schließen, lesen, schreiben und löschen. Zu den gängigen Verzeichnisfunktionen in PHP gehören:

  • opendir() - Öffnet einen Verzeichnis-Handle
  • readdir() - Liest einen Verzeichnis-Handle
  • closedir() - Schließt einen Verzeichnis-Handle
  • mkdir() - Erstellt ein neues Verzeichnis
  • rmdir() - Löscht ein Verzeichnis
  • scandir() - Liest den Inhalt eines Verzeichnisses in ein Array

Verwenden der opendir()-Funktion

Die opendir()-Funktion wird verwendet, um einen Verzeichnis-Handle zu öffnen. Sie erwartet einen einzelnen Parameter, nämlich den Namen des zu öffnenden Verzeichnisses. Sobald das Verzeichnis geöffnet ist, können Sie die readdir()-Funktion verwenden, um den Inhalt des Verzeichnisses zu lesen.

Verwenden der readdir()-Funktion

Die readdir()-Funktion wird verwendet, um den Inhalt eines Verzeichnisses zu lesen. Sie erwartet einen einzelnen Parameter, nämlich den Verzeichnis-Handle, der von der opendir()-Funktion zurückgegeben wird. Diese Funktion gibt den Namen der nächsten Datei oder des nächsten Verzeichnisses im Verzeichnis zurück. Sie können eine while-Schleife verwenden, um über alle Dateien und Verzeichnisse in einem Verzeichnis zu iterieren.

Beispiel für opendir() und readdir() in PHP

php
<?php

$dir = "/path/to/directory";
if (is_dir($dir)){
  if ($dh = opendir($dir)){
    while (($file = readdir($dh)) !== false){
      echo "filename:" . $file . "<br>";
    }
    closedir($dh);
  }
}

Verwenden der mkdir()-Funktion

Die mkdir()-Funktion wird verwendet, um ein neues Verzeichnis zu erstellen. Sie erwartet zwei Parameter: Der erste ist der Name des zu erstellenden Verzeichnisses, und der zweite ist ein optionaler Parameter, der die Berechtigungen für das neue Verzeichnis angibt.

Verwenden der mkdir()-Funktion in PHP

php
mkdir("/path/to/my/new/directory", 0755, true);

Der zweite Parameter legt die Berechtigungen fest (z. B. 0755), und der dritte optionale Parameter ermöglicht die rekursive Erstellung.

Verwenden der rmdir()-Funktion

Die rmdir()-Funktion wird verwendet, um ein Verzeichnis zu löschen. Sie erwartet einen einzelnen Parameter, nämlich den Namen des zu löschenden Verzeichnisses.

Verwenden der rmdir()-Funktion in PHP

php
rmdir("/path/to/my/new/directory");

Hinweis: rmdir() entfernt nur leere Verzeichnisse. Nicht-leere Verzeichnisse müssen zuerst geleert werden.

Verwenden der scandir()-Funktion

Die scandir()-Funktion wird verwendet, um den Inhalt eines Verzeichnisses in ein Array zu lesen. Sie erwartet einen einzelnen Parameter, nämlich den Namen des zu lesenden Verzeichnisses. Diese Funktion gibt ein Array mit Dateinamen und Verzeichnissen im angegebenen Verzeichnis zurück.

Verwenden der scandir()-Funktion in PHP

php
<?php

$dir = "/path/to/directory";
$files = scandir($dir);
print_r($files);

Verwenden der dir()-Funktion

⚠️ Veraltet: Die dir()-Funktion wurde in PHP 7.4 als veraltet markiert und in PHP 8.0 entfernt. Verwenden Sie stattdessen DirectoryIterator oder scandir(). Das folgende Beispiel wird nur zur Wartung von Legacy-Code bereitgestellt.

Die dir()-Funktion gibt ein Directory-Objekt zurück, das eine objektorientierte Möglichkeit zum Lesen von Verzeichnisinhalten bietet. Im Gegensatz zu scandir(), das ein einfaches Array zurückgibt, gibt dir() ein Objekt mit Methoden wie read(), rewind() und close() zurück. Beachten Sie, dass dir() kein Alias für scandir() ist; sie dienen unterschiedlichen Zwecken und geben verschiedene Datentypen zurück.

Verwenden der dir()-Funktion in PHP

php
<?php
$dir = dir("/path/to/directory");
while (($file = $dir->read()) !== false) {
    echo "filename: " . $file . "<br>";
}
$dir->close();

Fazit

Zusammenfassend bietet PHP mehrere integrierte Funktionen zur Verzeichnisbearbeitung wie opendir(), readdir(), mkdir() und rmdir(), mit denen Sie Verzeichnisse und Dateien auf dem Server verwalten können. Durch das Verständnis dieser Verzeichnisfunktionen und deren Verwendung in Ihren PHP-Skripten können Sie Verzeichnisse und Dateien auf dem Server problemlos bearbeiten. Wir hoffen, dass dieser Artikel Ihnen ein umfassendes Verständnis der PHP-Verzeichnisfunktionen und deren Anwendung in Ihren PHP-Projekten vermittelt hat.

Praxis

Welche Funktionen bietet die PHP-Klasse 'dir' zur Arbeit mit Verzeichnissen?

Finden Sie das nützlich?

Dual-run-Vorschau — vergleichen Sie mit den Symfony-Routen live.