file_get_contents
(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
file_get_contents — Liest die gesamte Datei in einen String
Beschreibung
string
$filename,bool
$use_include_path = false,?resource
$context = null,int
$offset = 0,?int
$length = null): string|false
 
   Diese Funktion ist mit file() identisch,
   außer dass file_get_contents() die Datei in
   einem String zurückgibt, beginnend am angebenen offset
   über bis zu length Bytes. Im Fehlerfall gibt
   file_get_contents() false zurück.
  
file_get_contents() ist der empfohlene Weg, um den Inhalt einer Datei in einen String zu lesen. Es werden Techniken zur Speicherabbildung genutzt, um die Performance zu erhöhen, falls das Betriebssystem dies unterstützt.
Hinweis:
Falls Sie einen URI mit speziellen Zeichen, wie z.B. Leerzeichen, öffnen, müssen Sie den URI mittels urlencode() enkodieren.
Parameter-Liste
- 
filename
- 
      Name der zu lesenden Datei. 
- 
use_include_path
- 
      Hinweis: Die Konstante FILE_USE_INCLUDE_PATHkann genutzt werden, um eine Suche im include path auszulösen. Dies ist nicht möglich, wenn strenge Typisierung aktiviert wurde, daFILE_USE_INCLUDE_PATHein int ist. Statt dessen isttruezu verwenden.
- 
context
- 
      Eine gültige Context-Ressource, die mit stream_context_create() erstellt wurde. Falls Sie keinen eigenen Context benötigen, können Sie diesen Parameter mit nullüberspringen.
- 
offset
- 
      Die Position, an der das Lesen im Originalstream beginnt. Negative Offsets zählen vom Ende des Streams an. Das Springen an bestimmte Positionen ( offset) wird nicht für entfernte Dateien unterstützt. Für kleine Offsets kann der Sprung funktionieren, allerdings ist dies nicht vorhersagbar, weil hierbei auf dem gepufferten Stream gearbeitet wird.
- 
length
- 
      Maximale Länge der zu lesenden Daten. Standardmäßig wird solange gelesen bis das Ende der Datei erreicht wird. Beachten Sie, dass dieser Parameter auf den Stream angewendet wird, der durch die Filter verarbeitet wird. 
Rückgabewerte
   Die Funktion gibt die gelesenen Daten zurück. Bei einem Fehler wird false zurückgegeben.
  
Diese Funktion kann sowohl das
boolsche false zurückliefern, als auch einen nicht-boolschen Wert, welcher zu false ausgewertet wird.
Weitere Informationen entnehmen Sie bitte dem Abschnitt über die
 boolschen Typen. Benutzen Sie deshalb
den === Operator,
um den Rückgabewert dieser Funktion zu überprüfen.
Fehler/Exceptions
   Ein Fehler der Stufe E_WARNING wird generiert, wenn
   filename nicht gefunden werden kann,
   length kleiner als Null ist oder wenn das Aufsuchen des angegebenen
   offset im Streams fehlschlägt.
  
   Wenn file_get_contents() für ein Verzeichnis aufgerufen wird,
   wird unter Windows und ab PHP 7.4 auch auf anderen Betriebssystemen ein Fehler der Ebene E_WARNING generiert.
  
Changelog
| Version | Beschreibung | 
|---|---|
| 8.0.0 | lengthist jetzt nullbar. | 
| 7.1.0 | Unterstützung für negative offsets wurde hinzugefügt. | 
Beispiele
Beispiel #1 Holen und Ausgeben des Quelltextes der Startseite einer Webseite
<?php
$homepage = file_get_contents('http://www.example.com/');
echo $homepage;
?>
Beispiel #2 Suche im include_path
<?php
// Wenn strikte Typisierung aktiviert wurde, d.h. declare(strict_types=1);
$file = file_get_contents('./leute.txt', true);
// Andernfalls
$file = file_get_contents('./leute.txt', FILE_USE_INCLUDE_PATH);
?>
Beispiel #3 Lesen einen Abschnitts einer Datei
<?php
// Lese 14 Zeichen, beginnend mit dem 21. Zeichen
$section = file_get_contents('./leute.txt', FALSE, NULL, 20, 14);
var_dump($section);
?>
Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:
string(14) "lle Bjori Ro"
Beispiel #4 Nutzung von Stream-Contexten
<?php
// Erzeugen eines Streams
$opts = array(
  'http'=>array(
    'method'=>"GET",
    'header'=>"Accept-language: en\r\n" .
              "Cookie: foo=bar\r\n"
  )
);
$context = stream_context_create($opts);
// Öffnen der Datei mit den oben definierten HTTP-Headern
$file = file_get_contents('http://www.example.com/', false, $context);
?>
Anmerkungen
Hinweis: Diese Funktion ist binärsicher.
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.
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.
Siehe auch
- file() - Liest eine komplette Datei in ein Array
- fgets() - Liest eine Zeile von der Position des Dateizeigers
- fread() - Liest Binärdaten aus einer Datei
- readfile() - Gibt eine Datei aus
- file_put_contents() - Schreibt Daten in eine Datei
- stream_get_contents() - Reads remainder of a stream into a string
- stream_context_create() - Creates a stream context
- $http_response_header
 
                     
                     
                     
                     
                    
 
          