# file_put_contents

(PHP 5, PHP 7, PHP 8)

file_put_contents — Schreibt Daten in eine Datei

### Beschreibung

file_put_contents(
string `$filename`,
mixed `$data`,
int `$flags` = 0,
?resource `$context` = `null`
): int|false

Diese Funktion entspricht fopen(), fwrite() und fclose(), um Daten in eine Datei zu schreiben.

Wenn `filename` nicht existiert, wird die Datei erstellt. Sonst wird die existierende Datei überschrieben, es sei denn `FILE_APPEND` ist gesetzt.

### Parameter-Liste

`filename`

  Pfad zur Datei in die die Daten geschrieben werden sollen.

`data`

  Die zu schreibenden Daten. Kann entweder string, oder array sowie stream sein.

  Wenn `data` eine stream-Quelle ist, wird der verbleibende Puffer des Streams in die festgelegte Datei kopiert. Dies ähnelt der Funktion stream_copy_to_stream().

  Sie können auch den Parameter `data` als eindimensionales Array angeben. Dies ist äquivalent zu `file_put_contents($filename, implode('', $array))`.

`flags`

  Der Wert von `flags` kann eine Kombination der folgenden Flags sein, verbunden mit dem binären OR(`|`) -Operator.

  verfügbare Flags
  Flag | Beschreibung
  --- | ---
  `FILE_USE_INCLUDE_PATH` | Sucht nach `filename` im enthaltenen Verzeichnis. Siehe include_path für mehr Information.
  `FILE_APPEND` | Falls die Datei `filename` bereits existiert, füge die Daten an die Datei an anstatt diese zu überschreiben.
  `LOCK_EX` | Erwirbt exklusive Schreibrechte auf die Datei während mit dem Schreiben fortgefahren wird. Anders ausgedrückt erfolgt ein flock() Aufruf zwischen dem fopen() Aufruf und dem fwrite() Aufruf. Das ist nicht das gleiche wie ein fopen() Aufruf mit Modus "x".

`context`

  Eine gültige Kontakt-Ressource erstellt mit der Funktion stream_context_create().

### Rückgabewerte

Diese Funktion gibt die Anzahl der geschriebenen Bytes oder `false` bei einem Fehler zurück.

Warnung

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.

### Beispiele

Beispiel #1 Einfaches Verwendungsbeispiel

`<?php
$file = 'people.txt';
// Öffnet die Datei, um den vorhandenen Inhalt zu laden
$current = file_get_contents($file);
// Fügt eine neue Person zur Datei hinzu
$current .= "John Smith\n";
// Schreibt den Inhalt in die Datei zurück
file_put_contents($file, $current);
?>`

Beispiel #2 Verwendung der Flags

`<?php
$file = 'people.txt';
//Die neue Person, die zur Datei hinzugefügt werden soll
$person = "John Smith\n";
// Schreibt den Inhalt in die Datei
// unter Verwendung des Flags FILE_APPEND, um den Inhalt an das Ende der Datei anzufügen
// und das Flag LOCK_EX, um ein Schreiben in die selbe Datei zur gleichen Zeit zu verhindern
file_put_contents($file, $person, FILE_APPEND | LOCK_EX);
?>`

### Anmerkungen

> Hinweis: Diese Funktion ist binärsicher.

Tipp

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.

### Siehe auch

- fopen() - Öffnet eine Datei oder URL
- fwrite() - Binär-sicheres Dateischreiben
- file_get_contents() - Liest die gesamte Datei in einen String
- stream_context_create() - Creates a stream context

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open