Arbeiten mit dem Dateisystem in PHP: Vollständiger 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

Arbeiten mit dem Dateisystem in PHP: Grundlagen und praktische Beispiele



Die Arbeit mit dem Dateisystem ist eine der Kernaufgaben der Webentwicklung mit PHP. Ob das Hochladen von Bildern, das Schreiben von Logs, das Lesen von Konfigurationsdateien oder die Verwaltung temporärer Daten – die Kenntnis der Funktionen für die Arbeit mit Dateien und Verzeichnissen ist für jeden PHP-Entwickler unerlässlich. In diesem Artikel werden wir die grundlegenden Operationen im Detail durchgehen: Öffnen, Lesen, Schreiben, Schließen von Dateien sowie die Verwaltung von Ordnern und Zugriffsrechten.



Grundlegende Funktionen für die Arbeit mit Dateien in PHP



PHP bietet einen umfangreichen Satz an integrierten Funktionen. Betrachten wir die wichtigsten davon.



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



Um mit einer Datei zu arbeiten, muss sie zunächst mit fopen() geöffnet werden. Die Funktion akzeptiert zwei obligatorische Parameter: den Pfad zur Datei und den Öffnungsmodus. Der Modus bestimmt, was Sie mit der Datei tun können: lesen, schreiben, Daten am Ende hinzufügen usw.



Wichtige Modi:

  • r — nur Lesen. Der Dateizeiger am Anfang der Datei.
  • r+ — Lesen und Schreiben. Der Dateizeiger am Anfang.
  • w — nur Schreiben. Wenn die Datei existiert, wird sie geleert. Wenn nicht, wird sie erstellt.
  • w+ — Lesen und Schreiben. Leert die Datei oder erstellt eine neue.
  • a — nur Schreiben am Ende der Datei. Wenn die Datei nicht existiert, wird sie erstellt.
  • a+ — Lesen und Schreiben am Ende.


<?php$file = fopen("example.txt", "w"); // Öffnen der Datei zum Schreibenif ($file) {    echo "Datei erfolgreich geöffnet.";    fclose($file); // Schließen Sie die Datei immer nach der Arbeit} else {    echo "Datei konnte nicht geöffnet werden.";}?>


Lesen aus einer Datei: fgets(), fread() und file_get_contents()



Der einfachste Weg, eine gesamte Datei zu lesen, ist die Funktion file_get_contents(). Sie gibt den Inhalt als String zurück.



<?php$content = file_get_contents("example.txt");echo $content;?>


Wenn Sie zeilenweise lesen müssen (z. B. bei großen Dateien), verwenden Sie fgets() in einer Schleife:



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


Die Funktion fread() ermöglicht das Lesen einer bestimmten Anzahl von Bytes:



<?php$file = fopen("example.txt", "r");$content = fread($file, 100); // Liest die ersten 100 Bytesecho $content;fclose($file);?>


Schreiben in eine Datei: fwrite() und file_put_contents()



Zum Schreiben von Daten in eine Datei ist es praktisch, file_put_contents() zu verwenden. Es öffnet die Datei, schreibt den String und schließt sie mit einem Befehl.



<?php$data = "Hallo, Welt!";file_put_contents("example.txt", $data);?>


Wenn Sie Daten am Ende hinzufügen möchten, verwenden Sie das Flag FILE_APPEND:



<?php$data = "Neue Zeile";file_put_contents("example.txt", $data, FILE_APPEND);?>


Für flexibleres Schreiben (z. B. im Binärmodus) wird fwrite() verwendet:



<?php$file = fopen("example.txt", "w");fwrite($file, "String zum Schreiben");fclose($file);?>


Arbeiten mit Verzeichnissen in PHP



Neben Dateien ermöglicht PHP die Verwaltung von Ordnern: Erstellen, Löschen, Lesen ihres Inhalts.



Erstellen und Löschen von Ordnern: mkdir() und rmdir()



Die Funktion mkdir() erstellt ein neues Verzeichnis. Als zweiten Parameter können Sie die Zugriffsrechte angeben (Standard ist 0777).



<?phpif (mkdir("new_folder", 0777)) {    echo "Ordner erstellt.";} else {    echo "Fehler beim Erstellen des Ordners.";}?>


Zum Löschen eines leeren Ordners verwenden Sie rmdir():



<?phpif (rmdir("new_folder")) {    echo "Ordner gelöscht.";} else {    echo "Fehler beim Löschen des Ordners.";}?>

Blogs

Buchempfehlungen