Heim > Artikel > Backend-Entwicklung > So schließen Sie ob_start in PHP
php ob_start wird zum Öffnen des Ausgabesteuerungspuffers verwendet. Um ob_start zu schließen, können Sie die Funktion ob_end_clean() verwenden, um den Inhalt des Puffers stillschweigend zu verwerfen.
Die Betriebsumgebung dieses Artikels: Windows7-System, PHP7.1-Version, DELL G3-Computer
Wie schließe ich ob_start in PHP?
ob_start – Öffne den Ausgabesteuerungspuffer
Beschreibung
ob_start(callable $output_callback = null, int $chunk_size = 0, int $flags = PHP_OUTPUT_HANDLER_STDFLAGS): bool
Diese Funktion öffnet den Ausgabepuffer. Wenn die Ausgabepufferung aktiviert ist, gibt das Skript keine Inhalte aus (außer http-Headern), sondern die auszugebenden Inhalte werden in einem internen Puffer gespeichert.
Der Inhalt des internen Puffers kann verwendet werden. Die Funktion ob_get_contents()
函数复制到一个字符串变量中。 想要输出存储在内部缓冲区中的内容,可以使用 ob_end_flush()
函数。另外, 使用 ob_end_clean()
verwirft den Inhalt des Puffers stillschweigend.
WARNUNG
Einige Webserver (z. B. Apache) ändern das Arbeitsverzeichnis eines Skripts, wenn eine Rückruffunktion aufgerufen wird. Sie können es in der Rückruffunktion wieder ändern, zum Beispiel chdir(dirname($_SERVER['SCRIPT_FILENAME'])) .
Der Ausgabepuffer ist stapelbar, was bedeutet, dass Sie, wenn ein ob_start() aktiv ist, einen anderen ob_start() aufrufen können. Stellen Sie einfach sicher, dass Sie ob_end_flush() die richtige Anzahl von Malen aufrufen. Wenn mehrere Ausgaberückrufe aktiv sind, wird die Ausgabe immer in verschachtelter Reihenfolge durch sie gefiltert.
Parameter
output_callback
Optionale Parameter Die Funktion „output_callback“ kann angegeben werden. Diese Funktion nimmt einen String als Argument und gibt einen String zurück. Diese Funktion wird aufgerufen, wenn der Ausgabepuffer geleert (ausgegeben) oder bereinigt wird (ob_flush(), ob_clean() oder ähnliche Funktionen) oder wenn der Inhalt des Ausgabepuffers am Ende des Aufrufs geleert wird. Beim Aufruf von „output_callback“ wird der Inhalt des Ausgabepuffers als Parameter empfangen und es wird erwartet, dass als Ergebnis ein neuer Ausgabepuffer zurückgegeben wird. Der Inhalt dieses neu zurückgegebenen Ausgabepuffers wird an den Browser gesendet. Wenn es sich bei diesem Output_Callback nicht um eine aufrufbare Funktion handelt, gibt diese Funktion „false“ zurück.
Das Folgende ist die Rückrufsignatur:
handler(string $buffer, int $phase = ?): string
Puffer
Der Inhalt des Ausgabepuffers.
Phase
Bitmaske PHP_OUTPUT_HANDLER_* Konstanten.
Wenn „output_callback“ „false“ zurückgibt, wird der ursprüngliche Eingabeinhalt direkt an den Browser gesendet.
Dieser Parameter „output_callback“ kann vermieden werden, indem direkt ein Nullwert angegeben wird.
ob_end_clean(), ob_end_flush(), ob_clean(), ob_flush() und ob_start() können nicht von einer Callback-Funktion aufgerufen werden. Wenn sie von einer Rückruffunktion aufgerufen werden, ist das resultierende Verhalten nicht spezifiziert. Wenn Sie den Inhalt des Puffers löschen möchten, geben Sie von der Rückruffunktion einen „“ (leeren String) zurück. Es ist auch nicht möglich, Ausgabepufferungsfunktionen wie print_r($expression, true) oder highlight_file($filename, true) aus einer Callback-Funktion zu verwenden.
注意: ob_gzhandler() function exists to facilitate sending gz-encoded data to web browsers that support compressed web pages. ob_gzhandler() determines what type of content encoding the browser will accept and will return its output accordingly.
chunk_size
Wenn der optionale Parameter chunk_size zugewiesen ist, wird der Puffer nach jedem Ausgabevorgang geleert, der dazu führt, dass die Pufferlänge gleich oder größer als chunk_size ist. Der Standardwert 0 bedeutet, dass die Funktion erst am Ende aufgerufen wird.
Vor PHP 5.4.0 war 1 ein Sonderfallwert, der chunk_size auf 4096 Bytes festlegte. Der Parameter
flags
flags stellt ein Maskenbit dar, das zur Steuerung von Vorgängen im Puffer verwendet wird. Standardmäßig können Ausgabepuffer bereinigt, geleert und entfernt werden, was explizit über PHP_OUTPUT_HANDLER_FLUSHABLE | oder PHP_OUTPUT_HANDLER_STDFLAGS als Abkürzung festgelegt werden kann.
Empfohlenes Lernen: „
PHP-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonSo schließen Sie ob_start in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!