Funktion file_get_contents

Die Funktion file_get_contents liest den Inhalt einer Datei und gibt ihn als Zeichenkette zurück. An den ersten Parameter wird der Pfad zur Datei übergeben, an den zweiten - das Flag für die Nutzung des Include-Pfads, an den dritten - der Stream-Kontext, an den vierten - der Offset für den Lesebeginn, an den fünften - die maximale Datenlänge.

Der dritte Parameter ist besonders nützlich, wenn Dateien in den Standardverzeichnissen gesucht werden sollen, die in der PHP-Konfiguration angegeben sind, und nicht nur über einen absoluten Pfad.

Syntax

phpfile_get_contents(
  string $filename,
  bool $use_include_path = false,
  ?resource $context = null,
  int $offset = 0,
  ?int $maxlen = null
): string|false

Parameter

Parameter Beschreibung
filename Pfad zur Datei oder URL
use_include_path Wenn auf true gesetzt, sucht die Funktion nach der Datei in den Verzeichnissen, die im Parameter include_path in den PHP-Einstellungen in der Datei php.ini angegeben sind. Standardmäßig false.
context Ressource eines Stream-Kontexts
offset Offset für den Lesebeginn
maxlen Maximale Länge der zu lesenden Daten

Beispiel

Lesen des Inhalts einer lokalen Datei:

php<?php
  $res = file_get_contents('data.txt');
  echo $res;
?>

Ergebnis der Codeausführung:

php'abcde'

Beispiel

Lesen eines Dateiteils mit Angabe von Offset und Länge:

php<?php
  $res = file_get_contents('data.txt', false, null, 1, 3);
  echo $res;
?>

Ergebnis der Codeausführung:

php'bcd'

Beispiel

Lesen des Inhalts einer Webseite:

php<?php
  $res = file_get_contents('https://example.com');
  echo substr($res, 0, 50) . '...';
?>

Ergebnis der Codeausführung:

php'<!doctype html><html><head><title>Example D...'

Beispiel

Suchen einer Datei im include_path:

php<?php
  $res = file_get_contents('config.ini', true);
  echo $res;
?>

Ergebnis der Codeausführung:

php'config_data'

Parameter Stream-Kontext

Der Parameter context erlaubt es, eine Ressource eines Stream-Kontexts zu übergeben, die das Verhalten der Funktion bei der Arbeit mit Dateien oder Netzwerkressourcen modifizieren kann.

Eine Stream-Kontext-Ressource, erstellt durch die Funktion stream_context_create. Wenn keine besonderen Einstellungen benötigt werden, kann null übergeben werden.

Möglichkeiten des Kontexts:

Beispiel für die Anwendung:

php<?php
  $opts = [
    'http' => [
      'method' => "GET",
      'header' => "Accept-language: en\r\n"
    ]
  ];
  $context = stream_context_create($opts);
  $res = file_get_contents('https://example.com', false, $context);
?>

Siehe auch

  • die Funktion file_put_contents,
    die Daten in eine Datei schreibt
  • die Funktion fopen,
    die eine Datei öffnet
  • die Funktion file,
    die eine Datei in ein Array von Zeilen einliest