file_put_contents
Schreibt einen String in eine Datei
Beschreibung
int file_put_contents
( string $filename
, mixed $data
[, int $flags = 0
[, resource $context
]] )
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 festgegte 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.
WarnungDiese 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 binary safe.
TippMit 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.
Siehe auch
- fopen
- fwrite
- file_get_contents
- stream_context_create