Forum und email

file

(PHP 4, PHP 5)

file — Liest eine Datei komplett in ein Array

Beschreibung

array file ( string $filename [, int $use_include_path ] )

Die Funktion file() ist identisch mit readfile(), außer dass die eingelesene Datei als Array zurückgegeben wird. Jedes Feld des Arrays korrespondiert mit einer Zeile der Datei. Der Zeilenumbruch bleibt erhalten. Im Fehlerfall gibt file() FALSE zurück.

Hinweis: Jede Zeile in dem resultierenden Array enthält das Zeilenende, weshalb Sie trim() verwenden müssen, falls der Zeilenumbruch nicht vorhanden sein soll.

Hinweis: Wenn Sie Probleme damit haben, dass PHP Zeilenendezeichen nicht erkennt, entweder beim Lesen von Dateien auf einem Macintosh oder bei Dateien die auf einem Macintosh erstellt wurden, können Sie die Option auto_detect_line_endings aktivieren.

Optional kann der Parameter use_include_path benutzt und auf '1' gesetzt werden, wenn in dem include_path ebenfalls nach der Datei gesucht werden soll.

<?php
// Liest eine Datei in ein Array. Hier gehen wir über HTTP, um die
// HTML Datei einer URL zu bekommen
$lines file ('https://www.example.com/');

// Durchgehen des Arrays und Anzeigen des HTML Source inkl. Zeilennummern
foreach ($lines as $line_num => $line) {
    echo 
"Line #<b>{$line_num}</b> : " htmlspecialchars($line) . "<br>\n";
}

// Ein anderes Beispiel: Einlesen einer Webseite in einen String.
// Siehe auch file_get_contents().
$html implode (''file ('https://www.example.com/'));
?>

Hinweis: Ab PHP 4.3.0 können Sie file_get_contents() verwenden, um den Inhalt einer Datei als String zurückzugeben.
Mit PHP 4.3.0 ist file() "Binary Safe".

Tipp

Mit dieser Funktion können Sie eine URL als Dateinamen verwenden, falls Sie fopen wrappers ermöglicht haben. Mehr Details dazu, wie Sie den Dateinamen angeben müssen finden Sie bei fopen(). Eine Liste der unterstützten URL Protokolle finden Sie unter List of Supported Protocols/Wrappers.

Siehe auch readfile(), fopen(), fsockopen(), popen(), file_get_contents(), und include().