Signatur
Beschreibung
file_put_contents() ist die schnelle Kurzform für "Datei komplett überschreiben" oder "Zeile anhängen". Sie ersetzt drei Aufrufe (fopen, fwrite, fclose) durch einen.
Mit dem Flag FILE_APPEND wird angehängt statt überschrieben. Mit LOCK_EX wird während des Schreibens eine exklusive Datei-Sperre gehalten — Pflicht bei nebenläufigen Prozessen.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $filename Pflicht | string | — | Pfad zur Zieldatei. |
| $data Pflicht | mixed | — | String, Array (wird mit "" gejoint) oder Stream-Resource. |
| $flags | int | 0 | Bitmaske. Nützlich: FILE_APPEND, LOCK_EX. |
| $context | resource|null | null | Stream-Context. |
Rückgabewert
false bei Fehler.Beispiele
Datei überschreiben
<?php
file_put_contents(__DIR__ . '/log.txt', 'Hallo, Welt!');
Log-Zeile atomar anhängen
<?php
$line = sprintf("[%s] %s\n", date('c'), $message);
file_put_contents(__DIR__ . '/app.log', $line, FILE_APPEND | LOCK_EX);
Atomar schreiben (kein halbfertiger Zustand)
<?php
$tmp = tempnam(sys_get_temp_dir(), 'cache');
file_put_contents($tmp, $payload);
rename($tmp, $targetPath); // atomar auf demselben Filesystem
// Wichtig · Fallstricke
rename() ist auf demselben Dateisystem atomar — nutze das, wenn Leser die Datei niemals im "halb geschriebenen" Zustand sehen dürfen (Konfig-Files, Caches).