Heim  >  Artikel  >  Backend-Entwicklung  >  So schließen Sie ob_start in PHP

So schließen Sie ob_start in PHP

藏色散人
藏色散人Original
2021-11-19 10:58:121988Durchsuche

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.

So schließen Sie ob_start in PHP

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn