21.17 Gepufferte Ausgabedaten in eine Datei schreiben

Problem

Sie wollen alle gepufferten Daten in ein Datei-Handle schreiben.

Lösung

Verwenden Sie fflush():

fwrite($fh,'There are twelve pumpkins in my house.');
fflush($fh);

Das stellt sicher, dass »There are twelve pumpkins in my house.« nach $fh geschrieben wird.

Diskussion

Um effizienter zu arbeiten, schreiben System-I/O-Bibliotheken Daten üblicherweise nicht gleich in eine Datei, wenn Sie es ihnen befohlen haben. Stattdessen sammeln sie mehrere zu schreibende Datenstücke in einem Puffer und speichern sie dann alle gleichzeitig auf der Festplatte. Mit fflush() wird der gesamte wartende Pufferinhalt direkt auf die Platte geschrieben.

Das »Ausspülen« (Flush) des Puffers ist besonders hilfreich, wenn ...

Get PHP 5 Kochbuch, Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.