Heim >Backend-Entwicklung >PHP-Tutorial >Steuerung des PHP-Ausgabepuffers
Einführung
Wenn das PHP-Skript eine Ausgabe hat, kann die Ausgabesteuerungsfunktion diese verwenden, um die Ausgabe zu steuern. Dies ist in verschiedenen Situationen nützlich, insbesondere beim Senden von HTTP-Headern an den Browser, nachdem das Skript mit der Datenausgabe begonnen hat. Die Ausgabekontrollfunktion hat keinen Einfluss auf die von header() oder setcookie() gesendeten Datei-Header-Informationen, sondern nur auf die Daten zwischen Funktionen wie echo und PHP-Codeblöcken.
Hinweis:
Aufgrund von Fehlern in früheren Versionen müssen Sie beim Upgrade von PHP4.1.x (4.2.x, 4.3.x) sicherstellen, dass implicit_flush in php.ini AUS ist , andernfalls wird jede Ausgabe, die ob_start() verwendet, in der Ausgabe ausgeblendet.
Grundlegende Verwendung
<?php ob_start(); echo "Hello\n"; setcookie("cookiename", "cookiedata"); ob_end_flush(); ?>
Im obigen Beispiel wird die Ausgabe der Echo-Funktion im Ausgabepuffer gespeichert, bis ob_end_flush() aufgerufen wird. Gleichzeitig speichert der Aufruf von setcookie() auch erfolgreich ein Cookie, ohne einen Fehler zu verursachen. (Unter normalen Umständen können die http-Header-Informationen nach dem Senden der Daten an den Browser nicht mehr gesendet werden.)
Ausgabesteuerungsfunktion
flush – aktualisiert den Ausgabepuffer
ob_clean – Den Ausgabepuffer löschen (löschen)
ob_end_clean – Den Puffer löschen (löschen) und den Ausgabepuffer schließen
ob_end_flush – Den Inhalt des Ausgabepuffers leeren (aussenden) und schließen der Puffer
ob_flush – den Inhalt des Ausgabepuffers ausspülen (senden)
ob_get_clean – den Inhalt des aktuellen Puffers abrufen und den aktuellen Ausgabepuffer löschen.
ob_get_contents – Gibt den Inhalt des Ausgabepuffers zurück
ob_get_flush – Leert (sendet) den Pufferinhalt, gibt den Inhalt als Zeichenfolge zurück und schließt den Ausgabepuffer.
ob_get_length – Gibt die Länge des Ausgabepufferinhalts zurück
ob_get_level – Gibt die Verschachtelungsebene des Ausgabepuffermechanismus zurück
ob_get_status – Ruft den Status aller Ausgabepuffer ab
ob_gzhandler – Die Rückruffunktion, die in ob_start verwendet wird, um den Inhalt des Ausgabepuffers zu komprimieren.
ob_implicit_flush – Absolutes Flushing ein-/ausschalten
ob_list_handlers – Alle verwendeten Ausgabehandler auflisten.
ob_start – Öffnen Sie den Ausgabesteuerungspuffer
output_add_rewrite_var – URL-Rewriter-Werte hinzufügen (URL-Rewriter-Werte hinzufügen)
output_reset_rewrite_vars – Setzen Sie die URL-Rewriter-Werte zurück ( Zurücksetzen URL-Rewriter-Werte)