Dateien mit PHP auslesen
Lesen Sie Dateiinhalte mit file_get_contents und fopen/fread aus.
Dateien mit PHP auslesen ist eine kostenlose PHP Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des PHP Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der PHP Academy-Kurs umfasst insgesamt 4 Lektionen.
PHP und das Dateisystem
PHP kann Dateien auf dem Dateisystem des Servers lesen, schreiben und verwalten. Wichtige Funktionen zum Lesen sind:
file_get_contents()– gesamte Datei als Zeichenfolge lesenfopen()+fread()– streambasiertes Lesenfile()– Datei als Array von Zeilen lesen
file_get_contents()
Die einfachste Möglichkeit, den gesamten Inhalt einer Datei als Zeichenfolge einzulesen:
<?php
$content = file_get_contents('/var/www/html/data.txt');
if ($content === false) {
echo 'Could not read file';
} else {
echo $content;
echo strlen($content) . ' bytes';
}Prüfen, ob eine Datei existiert
Prüfen Sie dies immer vor dem Lesen, um Fehler zu vermeiden:
<?php
$path = '/var/data/config.json';
if (!file_exists($path)) {
die('Config file not found');
}
if (!is_readable($path)) {
die('No permission to read file');
}
$json = file_get_contents($path);
$config = json_decode($json, true);file() – In ein Array lesen
file() liest eine Datei und gibt jede Zeile als Array-Element zurück:
<?php
$lines = file('data.csv', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
foreach ($lines as $lineNum => $line) {
echo ($lineNum + 1) . ': ' . $line . PHP_EOL;
}fopen, fread, fclose
Streambasiertes Lesen auf niedriger Ebene für große Dateien – verarbeiten Sie die Datei, ohne sie vollständig in den Arbeitsspeicher zu laden:
<?php
$handle = fopen('large_file.txt', 'r');
if ($handle === false) die('Cannot open file');
// Read 1KB at a time
while (!feof($handle)) {
$chunk = fread($handle, 1024);
echo $chunk;
}
fclose($handle);fgets für das zeilenweise Lesen
fgets() liest jeweils eine Zeile – das spart bei großen Dateien Arbeitsspeicher:
<?php
$handle = fopen('server.log', 'r');
while (($line = fgets($handle)) !== false) {
if (str_contains($line, 'ERROR')) {
echo 'Found error: ' . $line;
}
}
fclose($handle);Lesen entfernter Dateien
file_get_contents() kann auch HTTP-URLs lesen, wenn allow_url_fopen aktiviert ist:
<?php
$json = file_get_contents('https://api.example.com/data.json');
// Prefer cURL for more control and error handling
$ch = curl_init('https://api.example.com/data.json');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);SplFileObject
SplFileObject stellt eine objektorientierte Schnittstelle für Dateioperationen bereit:
<?php
$file = new SplFileObject('data.txt', 'r');
foreach ($file as $lineNum => $line) {
echo $lineNum . ': ' . $line;
}
// Read specific line:
$file->seek(5);
echo $file->current(); // line 6 (0-indexed)JSON-Dateien lesen
Ein häufig verwendetes Muster: eine JSON-Konfigurationsdatei lesen und dekodieren:
<?php
function loadJsonConfig(string $path): array {
if (!file_exists($path)) {
throw new RuntimeException("Config not found: $path");
}
$json = file_get_contents($path);
$data = json_decode($json, true);
if (json_last_error() !== JSON_ERROR_NONE) {
throw new RuntimeException('Invalid JSON: ' . json_last_error_msg());
}
return $data;
}
$cfg = loadJsonConfig('/app/config.json');Dateiinformationen
Metadaten zu einer Datei abrufen, ohne ihren Inhalt zu lesen:
<?php
$path = '/var/www/html/image.jpg';
echo filesize($path); // bytes
echo filetype($path); // 'file'
echo filemtime($path); // last modified timestamp
echo date('Y-m-d', filemtime($path));
$info = pathinfo($path);
echo $info['dirname']; // /var/www/html
echo $info['basename']; // image.jpg
echo $info['extension']; // jpgDateien sperren
Verwenden Sie eine Dateisperre, um Konflikte durch gleichzeitige Schreibzugriffe zu verhindern:
<?php
$handle = fopen('counter.txt', 'r+');
if (flock($handle, LOCK_EX)) { // exclusive lock
$count = (int) fread($handle, 20);
$count++;
fseek($handle, 0);
fwrite($handle, $count);
fflush($handle);
flock($handle, LOCK_UN); // release
}
fclose($handle);Schnelltest
Welche PHP-Funktion liest eine gesamte Datei mit einem einzigen Aufruf als Zeichenfolge ein?
Zusammenfassung: Dateien lesen
Grundlagen zum Lesen von Dateien:
file_get_contents()– gesamte Datei als Zeichenfolgefile()– Datei als Array von Zeilenfopen/fread/fclose– Stream für große Dateienfgets()– zeilenweises Lesen aus einem Stream- Prüfen Sie immer zuerst file_exists und is_readable
- Verwenden Sie flock für sicheren gleichzeitigen Zugriff
Lerne PHP mit einem KI-Tutor — kostenlos
Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.
- Kurse
- 49
- Lektionen
- 195
Häufig gestellte Fragen
Ist die Lektion „Dateien mit PHP auslesen“ kostenlos?
Ja — der vollständige Text von „Dateien mit PHP auslesen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des PHP Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der PHP Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Dateien mit PHP auslesen“?
Lesen Sie Dateiinhalte mit file_get_contents und fopen/fread aus. Du übst PHP Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um PHP Academy zu starten?
Keine Vorkenntnisse erforderlich. PHP Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.
Wie lange dauert die Lektion „Dateien mit PHP auslesen“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser PHP Academy-Lektion Code schreiben und ausführen?
Ja. Jede PHP Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Dateien mit PHP auslesen
- In Dateien schreiben und Daten anhängen
- Mit Verzeichnissen arbeiten
- Datei-Uploads verarbeiten