Manchmal müssen Inhalte von Dateien nicht verarbeitet werden, sondern durch das Skript nur weitergereicht werden. Um dies zu vereinfachen, besitzt PHP zu diesem Zweck spezielle Funktionen.
Die Funktion fpassthru()
leitet den Inhalt einer offenen Datei, deren Dateiresource als Parameter an erster Stelle übergeben wird, direkt ab der aktuellen Dateizeigerposition auf die Ausgabe weiter. Die Funktion readfile()
tut dies für eine ungeöffnete Datei, deren Datenname an erster Position übergeben wird. Als zweiten Parameter darf optional auf true
gesetzt werden, wenn auch der Include-Path von PHP nach der Datei durchsucht werden soll, für den Fall dass diese an angegebener Stelle nicht gefunden werden kann. Standardmäßig ist das Durchsuchen des Include-Paths jedoch ausgeschaltet.
Die Funktion file()
ließt eine komplette Datei in ein Array ein. Dabei wird aus jeder Zeile der Datei ein Element des Arrays. Als Parameter erhält die Funktion zunächst den Dateinamen. Dann können als nächster Parameter Flags angegeben werden, die während des Einlesens beachtet werden sollen:
FILE_USE_INCLUDE_PATH
: Sucht auch im Include-PathFILE_IGNORE_NEW_LINES
: Es wird kein Zeilenvorschub am Ende jedes Strings im Array eingefügt. Wenn diese Funktionalität nicht genutzt werden soll, kann auch die Funktiontrim()
genutzt werden, um Leerzeichen und Zeilenvorschübe vor und hinter dem String nachträglich zu entfernen.FILE_SKIP_EMPTY_LINES
: Leere Zeilen werden übersprungen.
file_get_contents()
ließt die gesamte Datei in einen String. Als erster Parameter wird ihr der Dateiname übergeben. Optional ist wieder das Flag, ob bei einem Nicht-Auffinden auch der Include-Path durchsucht werden soll.
file_put_contents()
schreibt einen kompletten String in eine Datei. Der Dateiname wird als erster Parameter übergeben; die Inhalte, die geschrieben werden sollen, als zweiter Parameter. Dabei können diese entweder ein String oder ein Array sein. Der dritte optionale Parameter stellt Flags dar. Folgende können genutzt werden:
FILE_USE_INCLUDE_PATH
: Auch im Include-Path wird gesucht.FILE_APPEND
: Eine vorhandene Datei wird erweitert.LOCK_EX
: Es werden exklusive Schreibrechte auf die Datei vor dem Schreiben erworben.