In der PHP -Entwicklung sind OB_FLUSH () und Flush () zwei Funktionen, die üblicherweise zum Spülen des Ausgangspuffers verwendet werden. Standardmäßig speichert PHP den Ausgangsinhalt zuerst im Speicherpuffer, und der Inhalt wird nicht an den Browser gesendet, wenn die Skriptausführung fertiggestellt oder manuell aktualisiert ist.
Die Funktion von ob_flush () besteht darin, den Ausgangspuffer zu aktualisieren und den Inhalt im Puffer sofort an den Browser zu senden. Flush () kann auch ähnliche Funktionen implementieren, aber in einigen Serverumgebungen können zusätzliche Vorgänge erforderlich sein, um sicherzustellen, dass die Aktualisierung wirksam wird.
OB_FLUSH () ist hauptsächlich für das Spülen des Ausgangspuffers von PHP und das Senden aller Pufferinhalte verantwortlich, einschließlich HTTP -Header und HTML -Inhalt, um sicherzustellen, dass der Browser so bald wie möglich Daten empfangen kann.
Die Funktion von Flush () sendet die Daten im aktuellen Puffer an den Browser, ist jedoch nicht für die Ausgabe von HTTP -Header -Informationen verantwortlich. Im Vergleich zu OB_FLUSH () wird Flush () effizienter ausgeführt, da es die Verarbeitung von HTTP -Headern überspringt.
Normalerweise verwenden wir OB_FLUSH () und Flush (), um eine sofortige Ausgabe von Inhalten zu erzielen. Einige Server erfordern jedoch möglicherweise, dass OB_END_FLUSH () den Puffer zuerst schließen kann, bevor Flush () wirksam werden kann.
Das folgende Beispiel zeigt, wie OB_FLUSH () und Flush () verwendet werden:
<?php
// Puffer aktivieren
ob_start();
// Teil des Inhalts ausgeben
echo "Hello";
// Aktualisieren Sie den Puffer sofort und senden Sie an den Browser
ob_flush();
flush();
// Ausgabe verbleibender Inhalt
echo "World";
// Schließen Sie den Puffer
ob_end_flush();
?>
Schalten Sie im Code zunächst die Ausgabepufferung durch OB_Start () ein, geben Sie "Hallo" aus und aktualisieren Sie sie dann sofort mit OB_FLUSH () und Flush (), dann "Welt" aus und schließen schließlich den Puffer. Dies kann die Blockausgabe erzielen und die Benutzererfahrung verbessern.
Einige Serverumgebungen können standardmäßig Puffer aktivieren oder deaktivieren. Bei Verwendung dieser beiden Funktionen müssen Sie bestätigen, ob die Serverkonfiguration sofortige Aktualisierung unterstützt. Passen Sie bei Bedarf die Konfiguration an oder rufen Sie OB_end_flush () an.
Nicht alle Browser unterstützen die Aktualisierung von Puffern in Echtzeit, und manchmal verzögert der Browser das Anzeigen von Inhalten, selbst wenn der Puffer aktualisiert wird.
Wenn Sie den Puffer erfrischen, müssen Sie auf die Ausgabeauftrag achten. Der Ausgangsinhalt wird zuerst angezeigt. Wenn OB_FLUSH () aufgerufen wird, um zu aktualisieren, wird der neue Inhalt mit der vorherigen Ausgabe fortgesetzt.
ob_flush () und flush () sind wichtige Funktionen in PHP, um das Spülenverhalten von Ausgangspuffern zu steuern. Wenn Sie sie korrekt verwenden, können Sie eine glattere Seitenladeerfahrung erzielen, sie muss jedoch auch in Kombination mit Serverkonfiguration und Browserfunktionen angewendet werden.