EisFuX: In Datei schreiben

Beitrag lesen

(Hallo|Hi(ho)|Tag) Fabienne,

habe ein Problem auf einer Windows-Maschine:

Ich möchte in eine Datei (Pfad passt) etwas hineinschreiben:

$data = fopen($path_to_files."log.txt","w+");
flock($data,LOCK_SH);
$search_log="Bla";
fwrite($data, $search_log);
flock($data,LOCK_UN);
fclose($data);

Jedoch die Datei wird jedesmal nur geleert (also Inhalt gelöscht, = w+). Neuer Inhalt wird nicht geschrieben.

Der Inhalt von $search_log lässt sich mit var_dump() ausgeben. Diese
Variable könnte bspw. die Werte FALSE, NULL oder '' enthalten oder gar
nicht definiert sein (Tippfehler).

Außerdem lohnt es sich, den Rückgabewert von fwrite() mit var_dump() zu überprüfen.
Der enthält im Erfolgsfall die Zahl der geschriebenen Bytes, im Fehlerfall ist er FALSE.

An den Anfang des Scripts gehört ein
error_reporting(E_ALL);
Das zeigt Warnungen, die sonst möglicherweise unterdrückt worden sind.

Wenn du in die Datei schreiben willst, solltest du flock() mit LOCK_EX ("exclusive" == "ausschließlich") benutzen.
Wenn du LOCK_SH ("shared" == "gemeinsam genutzt") nimmst, könnte jede Instanz dieses Scripts in die Datei schreiben. Das gäbe ein ziemliches Durcheinander.

MffG
EisFuX