Zum Inhalt springen

fflush()

Einführung in die PHP fflush()-Funktion

Die fflush()-Funktion in PHP wird verwendet, um den Ausgabepuffer eines Dateizeigers zu leeren. Sie zwingt gepufferte Daten, sofort in den zugrunde liegenden Stream geschrieben zu werden. Dies ist besonders nützlich für Logging, Echtzeit-Datenverarbeitung oder um die Datenspeicherung sicherzustellen, bevor ein Skript endet.

Die fflush()-Funktion akzeptiert einen Parameter: den Dateizeiger, den Sie leeren möchten. In diesem Artikel werden wir die Syntax und Parameter der fflush()-Funktion sowie praktische Beispiele für deren Verwendung diskutieren.

Syntax

Die Syntax der fflush()-Funktion lautet wie folgt:

Die PHP-Syntax von fflush()

php
bool fflush ( resource $stream )
  • stream: der zu leerende Dateizeiger

Parameter

Die fflush()-Funktion benötigt einen erforderlichen Parameter:

  1. $stream: Der Dateizeiger, den Sie leeren möchten. Dieser Parameter sollte eine Ressource sein, die mit der fopen()-Funktion oder einer ähnlichen Stream-Erstellungsfunktion erstellt wurde.

Rückgabewert

Gibt bei Erfolg true oder bei einem Fehler false zurück. Wenn der Stream nicht geöffnet, nicht beschreibbar ist oder der Vorgang fehlschlägt, gibt die Funktion false zurück und kann eine Warnung ausgeben.

Beispiele

Hier sind einige Beispiele zur Verwendung der fflush()-Funktion:

Beispiel 1: Einen Dateizeiger leeren

Das folgende Beispiel öffnet eine Datei, schreibt Daten und leert sofort den Puffer, um sicherzustellen, dass die Daten auf die Festplatte geschrieben werden:

Einen Dateizeiger in PHP leeren

php
<?php

$fileHandle = fopen('example.txt', 'w');
fwrite($fileHandle, 'Hello, World!');
fflush($fileHandle);
fclose($fileHandle);

Beispiel 2: Mehrere Dateizeiger leeren

Das folgende Beispiel zeigt das Leeren mehrerer offener Dateihandles:

Mehrere Dateizeiger in PHP leeren

php
<?php

$fileHandle1 = fopen('log1.txt', 'a');
$fileHandle2 = fopen('log2.txt', 'a');

fwrite($fileHandle1, 'Data for log 1');
fwrite($fileHandle2, 'Data for log 2');

fflush($fileHandle1);
fflush($fileHandle2);

fclose($fileHandle1);
fclose($fileHandle2);

Hinweis zur Pufferung der Ausgabe

Verwechseln Sie fflush() nicht mit PHPs Ausgabepuffer-Funktionen wie ob_flush(). fflush() arbeitet mit Dateistreams (z. B. Dateien, Sockets, Pipes), während ob_flush() den internen Ausgabepuffer von PHP an den Webserver oder Client leert.

Fazit

Zusammenfassend ist die fflush()-Funktion eine nützliche PHP-Funktion, die sicherstellt, dass gepufferte Daten sofort in einen Dateistream geschrieben werden. Sie ist unerlässlich für Anwendungen, die eine Echtzeit-Datenspeicherung erfordern, wie Logging-Systeme oder Datenverarbeitungsskripte.

Durch die Verwendung der in diesem Artikel bereitgestellten Beispiele sollten Sie nun in der Lage sein, die fflush()-Funktion mühelos in Ihrem PHP-Code einzusetzen. Wenn Sie Fragen oder Bedenken zur Verwendung der fflush()-Funktion in PHP haben, kontaktieren Sie uns gerne. Wir helfen Ihnen gerne weiter.

Praxis

Wie ist die korrekte Verwendung der fflush()-Funktion in PHP?

Finden Sie das nützlich?

Dual-run-Vorschau — vergleichen Sie mit den Symfony-Routen live.