Arbeiten mit dem Dateisystem in PHP: praktische Beispiele und Tipps

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: von den Grundlagen zu realen Projekten

\n\n

Die Arbeit mit dem Dateisystem ist eine der Kernaufgaben eines jeden Webentwicklers. PHP bietet dafür einen leistungsstarken Satz eingebauter Funktionen, mit denen Sie Dateien erstellen, lesen, bearbeiten und löschen sowie Verzeichnisse verwalten können. In diesem Artikel betrachten wir praktische Beispiele, die Ihnen helfen, die Arbeit mit Dateien in PHP zu meistern und dieses Wissen in realen Projekten anzuwenden.

\n\n

Unabhängig davon, ob Sie ein Logging-System, einen Datei-Uploader erstellen oder einfach nur Benutzerdaten speichern, ist das Verständnis der Grundlagen des Dateisystems in PHP eine unverzichtbare Fähigkeit. Kommen wir zur Praxis.

\n\n

Grundlegende Funktionen für die Dateiarbeit

\n\n

PHP bietet mehrere Möglichkeiten zur Interaktion mit Dateien. Die beliebtesten sind die Verwendung von fopen, fwrite, fread und den High-Level-Funktionen file_get_contents und file_put_contents. Betrachten wir sie anhand von Beispielen.

\n\n

Datei erstellen und beschreiben

\n\n

Verwenden Sie zum Erstellen einer Datei und zum Schreiben in diese die Funktion fopen mit dem Modus 'w' (Schreiben mit Löschen) oder 'a' (Anhängen ans Ende).

\n\n
<?php\n$filename = 'log.txt';\n$file = fopen($filename, 'w');\n\nif ($file) {\n    fwrite($file, "Zeile 1: Schreiben in die Datei\\n");\n    fwrite($file, "Zeile 2: Noch ein Eintrag\\n");\n    fclose($file);\n    echo "Datei erfolgreich erstellt und beschrieben.";\n} else {\n    echo "Fehler beim Öffnen der Datei.";\n}\n?>
\n\n

Wenn Sie schnell Daten schreiben möchten, ohne den Zeiger zu verwalten, verwenden Sie file_put_contents:

\n\n
<?php\n$data = "Neuer Inhalt für die Datei.\\nZweite Zeile.";\nfile_put_contents('data.txt', $data);\necho "Daten geschrieben.";\n?>
\n\n

Datei lesen

\n\n

Verwenden Sie zum zeilenweisen Lesen einer Datei fgets in einer Schleife:

\n\n
<?php\n$file = fopen('log.txt', 'r');\nif ($file) {\n    while (($line = fgets($file)) !== false) {\n        echo $line . "<br>";\n    }\n    fclose($file);\n}\n?>
\n\n

Eine Alternative ist file_get_contents zum Lesen des gesamten Inhalts in einen String:

\n\n
<?php\n$content = file_get_contents('log.txt');\necho nl2br($content);\n?>
\n\n

Überprüfung der Existenz und Eigenschaften von Dateien

\n\n

Bevor Sie mit einer Datei arbeiten, ist es wichtig sicherzustellen, dass sie existiert und zum Lesen oder Schreiben verfügbar ist. PHP bietet die Funktionen file_exists, is_readable, is_writable und filesize.

\n\n

Beispiel für eine Dateiprüfung

\n\n
<?php\n$file = 'config.php';\n\nif (file_exists($file)) {\n    echo "Datei existiert.<br>";\n    \n    if (is_readable($file)) {\n        echo "Datei ist lesbar.<br>";\n        echo "Dateigröße: " . filesize($file) . " Bytes.";\n    } else {\n        echo "Datei existiert, ist aber nicht lesbar.";\n    }\n} else {\n    echo "Datei nicht gefunden.";\n}\n?>
\n\n

Überprüfung des Dateityps

\n\n

Die Funktion filetype gibt den Dateityp zurück: 'file', 'dir', 'link' und andere.

\n\n
<?php\n$path = 'uploads';\nif (file_exists($path)) {\n    echo "Typ: " . filetype($path); // gibt 'dir' aus, wenn es ein Ordner ist\n}\n?>
\n\n

Verzeichnisverwaltung

\n\n

Die Arbeit mit Ordnern in PHP ist nicht weniger wichtig. Sie können Verzeichnisse erstellen, löschen und durchsuchen.

\n\n

Ordner erstellen und löschen

\n\n
<?php\n// Ordner erstellen\nif (!file_exists('backup')) {\n    mkdir('backup', 0777, true); // dritter Parameter true — rekursive Erstellung\n    echo "Ordner erstellt.";\n}\n\n// Leeren Ordner löschen\nif (file_exists('temp')) {\n    rmdir('temp');\n    echo "Ordner gelöscht.";\n}\n?>
\n\n

Verzeichnisinhalt durchsuchen

\n\n

Die Funktion scandir gibt ein Array aller Dateien und Ordner zurück.

Blogs

Buchempfehlungen