file_get_contents
(PHP 4 >= 4.3.0, PHP 5, PHP 7)
file_get_contents — Liest die gesamte Datei in einen String
Beschreibung
$filename
[, bool $use_include_path
= FALSE
[, resource $context
[, int $offset
= 0
[, int $maxlen
]]]] ) : string
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 maxlen
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_PATH
kann genutzt werden, um eine Suche im include path auszulösen. Dies ist nicht möglich, wenn strenge Typisierung aktiviert wurde, daFILE_USE_INCLUDE_PATH
ein int ist. Statt dessen istTRUE
zu 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. -
maxlen
-
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. Im Fehlerfall 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,
maxlength
kleiner als Null ist oder wenn das Aufsuchen des angegebenen
offset
im Streams fehlschlä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);
?>
Changelog
Version | Beschreibung |
---|---|
7.1.0 |
Unterstützung für negative offset s wurde hinzugefügt.
|
5.1.0 |
Die offset - und
maxlen -Parameter wurden hinzugefügt.
|
Anmerkungen
Hinweis: Diese Funktion ist binary safe.
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, die Fähigkeiten der verschiedenen Wrapper, Hinweise zu deren Verwendung und Informationen zu den eventuell vorhandenen vordefinierten Variablen finden Sie unter Unterstützte Protokolle und Wrapper.
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
Deutsche Übersetzung
Sie haben gebeten, diese Seite auf Deutsch zu besuchen. Momentan ist nur die Oberfläche übersetzt, aber noch nicht der gesamte Inhalt.Wenn Sie mir bei Übersetzungen helfen wollen, ist Ihr Beitrag willkommen. Alles, was Sie tun müssen, ist, sich auf der Website zu registrieren und mir eine Nachricht zu schicken, in der Sie gebeten werden, Sie der Gruppe der Übersetzer hinzuzufügen, die Ihnen die Möglichkeit gibt, die gewünschten Seiten zu übersetzen. Ein Link am Ende jeder übersetzten Seite zeigt an, dass Sie der Übersetzer sind und einen Link zu Ihrem Profil haben.
Vielen Dank im Voraus.
Dokument erstellt 30/01/2003, zuletzt geändert 26/10/2018
Quelle des gedruckten Dokuments:https://www.gaudry.be/de/php-rf-function.file-get-contents.html
Die Infobro ist eine persönliche Seite, deren Inhalt in meiner alleinigen Verantwortung liegt. Der Text ist unter der CreativeCommons-Lizenz (BY-NC-SA) verfügbar. Weitere Informationen auf die Nutzungsbedingungen und dem Autor.
Referenzen
Diese Verweise und Links verweisen auf Dokumente, die während des Schreibens dieser Seite konsultiert wurden, oder die zusätzliche Informationen liefern können, aber die Autoren dieser Quellen können nicht für den Inhalt dieser Seite verantwortlich gemacht werden.
Der Autor Diese Website ist allein dafür verantwortlich, wie die verschiedenen Konzepte und Freiheiten, die mit den Nachschlagewerken gemacht werden, hier dargestellt werden. Denken Sie daran, dass Sie mehrere Quellinformationen austauschen müssen, um das Risiko von Fehlern zu reduzieren.