(PHP 4, PHP 5, PHP 7, PHP 8)
file — Liest eine komplette Datei in ein Array
Liest eine komplette Datei in ein Array.
Hinweis:
Sie können file_get_contents() benutzen, um den Inhalt einer Datei als String zurückgegeben zu bekommen.
filename
Der Pfad zur Datei.
Wenn fopen wrappers aktiviert ist, kann mit dieser Funktion eine URL als Dateiname verwendet werden. Mehr Details dazu, wie der Dateiname angeben werden muss, sind bei fopen() zu finden. Eine Liste der unterstützten URL-Protokolle, die Fähigkeiten der verschiedenen Wrapper, Hinweise zu deren Verwendung und Informationen zu den eventuell vorhandenen vordefinierten Variablen sind unter Unterstützte Protokolle und Wrapper zu finden.
flags
Der optionale Parameter flags
kann aus einer
oder mehreren der folgenden Konstanten bestehen:
FILE_USE_INCLUDE_PATH
FILE_IGNORE_NEW_LINES
FILE_SKIP_EMPTY_LINES
FILE_NO_DEFAULT_CONTEXT
context
Eine Stream-Kontext-Ressource.
Gibt die Datei in einem Array zurück. Jedes Element des Arrays entspricht
einer Zeile in der Datei, ohne dass der Zeilenumbruch entfernt wird. Im
Fehlerfall gibt file() false
zurück.
Hinweis:
Jede Zeile im resultierenden Array enthält den Zeilenumbruch, außer es wird
FILE_IGNORE_NEW_LINES
verwendet.
Hinweis: Wenn PHP Zeilenendezeichen nicht richtig erkennt, entweder beim Lesen von Dateien auf einem Macintosh oder bei Dateien, die auf einem Macintosh erstellt wurden, kann die Option auto_detect_line_endings aktiviert werden.
Erzeugt einen Fehler der Stufe E_WARNING
, wenn die
Datei nicht existiert.
Beispiel #1 file()-Beispiel
<?php
// Liest eine Datei in ein Array. Hier gehen wir über HTTP, um den
// HTML-Quelltext einer URL zu bekommen
$lines = file('http://www.example.com/');
// Durchgehen des Arrays und Anzeigen des HTML-Quelltexts inkl. Zeilennummern
foreach ($lines as $line_num => $line) {
echo "Line #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br />\n";
}
// Benutzung des optionalen Parameters flags
$trimmed = file('somefile.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
?>
Bei SSL-Verbindungen zusammen
mit Microsoft IIS hält sich dieser Webserver nicht an das Protokoll und
schließt die Verbindung ohne ein close_notify
zu senden.
PHP quittiert dieses Fehlverhalten mit "SSL: Fatal Protocol Error", wenn das
Ende der Daten erreicht ist. Eine mögliche Lösung besteht darin, den Level von
error_reporting herabzusetzten und
Warnings auszuschließen. PHP kann fehlerhafte IIS-Serversoftware
erkennen, wenn Sie einen Stream mit dem https://
-Wrapper öffnen,
und unterdrückt die Warnung für Sie. Falls Sie fsockopen()
benutzen, um einen ssl://
-Socket zu öffnen, müssen Sie selbst
dafür Sorge tragen, die Warnung zu erkennen und diese zu unterdrücken.