Arbeiten mit dem Dateisystem in PHP: Ein praktischer Leitfaden

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Einleitung: Warum man mit dem Dateisystem in PHP arbeiten können sollte

Jeder Webentwickler steht früher oder später vor der Notwendigkeit, Daten auf dem Server zu speichern, Bilder hochzuladen, temporäre Dateien zu erstellen oder Konfigurationen zu lesen. PHP bietet einen leistungsstarken Satz von Funktionen für die Arbeit mit dem Dateisystem, mit denen Sie all diese Aufgaben schnell und sicher erledigen können.

In diesem Artikel werden wir die gefragtesten Operationen behandeln: Lesen und Schreiben von Dateien, Erstellen und Löschen von Verzeichnissen, Überprüfen der Existenz von Elementen sowie die Arbeit mit Pfaden. Alle Beispiele sind in PHP geschrieben und bereit für den Einsatz in Ihren Projekten.



Grundlegende Funktionen für die Dateiarbeit

Beginnen wir mit den grundlegenden Operationen – Öffnen, Lesen und Schreiben von Dateien. PHP unterstützt mehrere Methoden zur Interaktion mit Dateien, und wir werden die gängigsten davon betrachten.



Öffnen und Schließen einer Datei: fopen und fclose

Die Funktion fopen() öffnet eine Datei und gibt einen Deskriptor für die weitere Arbeit zurück. Die Öffnungsmodi legen fest, was Sie mit der Datei tun können: Lesen (r), Schreiben (w), Anhängen (a) usw.

<?php// Datei zum Lesen öffnen$file = fopen("data.txt", "r");if ($file) {    // Mit der Datei arbeiten    fclose($file); // Unbedingt schließen} else {    echo "Datei konnte nicht geöffnet werden";}?>


Aus einer Datei lesen: fread, fgets, file_get_contents

Zum Lesen des Inhalts können je nach Aufgabe verschiedene Funktionen verwendet werden:

  • fread() – liest eine bestimmte Anzahl von Bytes.
  • fgets() – liest eine einzelne Zeile.
  • file_get_contents() – die einfachste Methode, um die gesamte Datei auf einmal zu lesen.
<?php// Gesamte Datei lesen$content = file_get_contents("example.txt");echo $content;

// Zeilenweise lesen$file = fopen("example.txt", "r");while (($line = fgets($file)) !== false) { echo $line . "<br>";}fclose($file);?>


In eine Datei schreiben: fwrite und file_put_contents

Das Schreiben von Daten erfolgt mit fwrite() (erfordert einen geöffneten Deskriptor) oder file_put_contents() (eine Zeile – und die Datei ist geschrieben).

<?php// Schnelles Schreibenfile_put_contents("log.txt", "Neuer Eintrag", FILE_APPEND);

// Schreiben über fwrite$file = fopen("config.ini", "w");fwrite($file, "db_host=localhost");fwrite($file, "db_user=root");fclose($file);?>


Arbeiten mit Verzeichnissen

Das Erstellen, Löschen und Navigieren in Ordnern ist ein weiterer wichtiger Teil der Arbeit mit dem Dateisystem in PHP.



Ordner erstellen und löschen: mkdir und rmdir

Die Funktion mkdir() erstellt ein neues Verzeichnis. Der dritte Parameter recursive ermöglicht das Erstellen von verschachtelten Ordnern mit einem einzigen Befehl.

<?php// Einen Ordner erstellenmkdir("uploads", 0777);

// Verschachtelte Ordner erstellen (2025 → 03 → images)mkdir("uploads/2025/03/images", 0777, true);

// Leeren Ordner löschenrmdir("uploads/temp");?>


Existenz von Dateien und Ordnern prüfen

Vor der Ausführung von Operationen ist es immer sinnvoll zu prüfen, ob eine Datei oder ein Verzeichnis existiert. Dazu werden die Funktionen file_exists(), is_file() und is_dir() verwendet.

<?php$path = "data/config.php";if (file_exists($path)) {    echo "Datei oder Ordner existiert";}if (is_file($path)) {    echo "Dies ist eine Datei";}if (is_dir("uploads")) {    echo "Dies ist ein Verzeichnis";}?>


Liste der Dateien in einem Verzeichnis abrufen

Die Funktion scandir() gibt ein Array aller Elemente in einem Ordner zurück. glob() ermöglicht das Filtern nach einem Muster (z. B. nur Bilder).

<?php// Alle Dateien und Ordner$items = scandir("uploads");print_r($items);

// Nur PHP-Dateien$phpFiles = glob("*.php");for

Blogs

Buchempfehlungen