PHP OB_START -Funktion

PHP OB_START -Funktion
Der OB_Start () ist eine integrierte Funktion von PHP, um die Ausgangspufferung zu aktivieren. Wenn die Ausgangspufferung aktiviert ist, wird die gesamte Ausgabe im internen Puffer gespeichert, und es wird kein Ausgang aus dem Skript an den Browser gesendet. Einige andere integrierte Funktionen werden mit OB_Start () -Funktion verwendet. Die Funktion OB_get_Content () wird verwendet, um den Inhalt des internen Puffer in eine Variable zu speichern.

Die Funktion OB_END_FLUSH () wird verwendet, um den Inhalt des internen Puffers zu drucken. Die Funktion OB_end_Clean () wird verwendet, um den Inhalt des internen Puffer zu reinigen. Die Verwendungen der Funktion OB_Start () in PHP haben in diesem Tutorial gezeigt.

Syntax:

Alle Argumente von OB_Start () -Funktionen sind optional und können drei Argumente erfordern. Die Syntax dieser Funktion ist unten angegeben.

bool ob_start (callable $ callback = null, int $ chunk_size = 0, int $ flags = php_output_handler_stdflags)
  • Das erste optionale Argument nimmt einen Rückruffunktionsnamen an, um den Inhalt des Puffer zu ändern, bevor Sende an die Ausgabe gesendet wird.
  • Der zweite optionale Wert wird verwendet, um die Puffergröße festzulegen, und der Standardwert dieses Arguments beträgt 0.
  • Das dritte optionale Argument wird verwendet, um die Bitmaske festzulegen, die definiert, welche Operationen zulässig sind und welche nicht zulässig sind. Der Standardwert dieses Arguments ist php_output_handler_stdflags, die angibt, dass obs_flush (), ob_clean (), ob_get_flush (), ob_end_flush () und ob_end_clean () zulässig sind.
  • Es kehrt zurück WAHR auf Erfolg und Rückkehr FALSCH beim Versagen.

Verschiedene Verwendungen der Funktion ob_start ()

Die Verwendungen der Funktion OB_Start () mit anderen pufferbezogenen Funktionen wurden in diesem Teil des Tutorials erläutert.

Beispiel-1: Verwendung der Funktion OB_Start () ohne Argument

Erstellen Sie eine PHP -Datei mit dem folgenden Skript, um die Verwendung der Funktion ob_start () ohne Argument zu kennen. Nach dem Aufrufen der Funktion OB_Start () wurden zwei Stringwerte an den Puffer gesendet. Die Funktion ob_end_clean () wurde im Skript aufgerufen, um den Puffer zu reinigen, nachdem er die Funktion obs_start () zum ersten Mal aufgerufen hat. Dazu wird die erste Zeichenfolge aus dem Puffer entfernt und die zweite Zeichenfolge wird in der Ausgabe gedruckt.

// Rufen Sie Ob_Start () zum ersten Mal auf
ob_start ();
// Den Zeichenfolgenwert drucken
Echo "Tests Zeichenfolge Wert1
";
// den Puffer reinigen
ob_end_clean ();
// Rufen Sie Ob_Start () auf, das zweite Mal
ob_start ();
// Den Zeichenfolgenwert drucken
Echo "Tests Zeichenfolge Wert2
";
?>

Ausgang:

Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt.

Beispiel 2: Verwendung der Funktion OB_Start () mit Rückruffunktion

Erstellen Sie eine PHP -Datei mit dem folgenden Skript, um die Verwendung der Funktion ob_start () mit einer Rückruffunktion zu kennen. Eine String -Variable wird im Skript deklariert. Die Funktion rufen. Die Funktion OB_Start () wird mit dem ersten Argument aufgerufen, das die Funktion callback () aufruft und die modifizierte Zeichenfolge an den Puffer zurückgibt. Als nächstes verwendete die Funktion OB_end_flush (), um den Inhalt des Puffers in den Browser zu spülen.

// eine String -Variable deklarieren
$ str = "Ich mag PHP -Programmierung.
";
Echo "Die ursprüngliche Zeichenfolge: $ str ";
// Definieren Sie die Rückruffunktion
Funktionsrückruf ($ Buffer)

// Ersetzen Sie das Wort 'Php' durch 'Python'
return (str_replace ("php", "python", $ buffer));

Echo "Die ersetzte Zeichenfolge:";
// Rufen Sie die Funktion ob_start () mit Rückruffunktion auf
OB_Start ("Rückruf");
echo $ str;
// Inhalt des internen Puffers drucken
ob_end_flush ();
?>

Ausgang:

Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt. Gemäß der Ausgabe wurde das Wort "Php" aus der Zeichenfolge durch das Wort "Python" ersetzt. Die Saite, 'Ich mag PHP -Programmierung"hat in die Zeichenfolge konvertiert", "Ich mag Python -Programmierung'durch die Funktion callback ().

Beispiel-3: Verwendung von OB_Start () -Funktion mit dem Bitmask-Wert

Es wird bereits erwähnt, dass der Standard -Bitmask -Wert der Funktion ob_start () php_output_handler_stdflags lautet. Diese Funktion hat viele andere Bitmask -Werte.

Die Verwendungen von Php_Output_handler_cleanable und Php_output_handler_Flusable -Bitmasks haben in diesem Beispiel gezeigt.

Für die Funktion OB_start () wurde hier keine Rückruffunktion definiert, und die Größe des Puffers wurde auf 0 gesetzt. Die Funktion OB_Clean () entfernen den Inhalt aus dem Puffer. Die erste Ausgabe wird also nicht im Browser gedruckt.

// Funktion mit Php_output_handler_cleanable -Flag deklarieren
ob_start (null, 0, php_output_handler_cleanable);
Echo "Linux -Hinweis
";
// den Puffer reinigen
ob_clean ();
// Funktion mit PHP_OUTPUT_HANDLER_FLUSABLE -Flag deklarieren
ob_start (null, 0, php_output_handler_flusable);
echo "Willkommen bei LinuxHint";
?>

Ausgang:

Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt. Nach der Ausgabe wurde der zweite Ausgang aus dem Puffer gedruckt.

Beispiel-4: Verwendung der Funktion ob_start () mit der Funktion OB_Get_Contents ()

Erstellen Sie eine PHP -Datei mit dem folgenden Skript, um die Verwendung von OB_Start () -Funktion mit einer Rückruffunktion und der Funktion OB_get_Contents () zu kennen. Die Funktion convert_upper () wurde als Rückruffunktion der Funktion obs_start () verwendet. Der Zweck dieser Funktion ist es, den Inhalt des Puffers in Großbuchstaben umzuwandeln. Drei Zeichenfolgewerte wurden an den Puffer gesendet, und die Ausgabe der OB_get_Contents () wurde in drei Variablen gespeichert. Wenn die Funktion ob_end_flush () ausgeführt wird, wird der geänderte Inhalt des Puffers im Browser gedruckt. Die Funktion var_dump () wird diesen Inhalt von drei Variablen dummen.

// Definieren Sie die Rückruffunktion
Funktion convert_upper ($ puffer)

// die Schnur in Großbuchstaben verdecken
return (strtoupper ($ buffer));

// rufen Sie on_start () mit Rückruffunktion an
ob_start ('convert_upper');
// Die Zeichenfolge wird in Großbuchstaben umgewandelt
echo "adnan";
$ var1 = ob_get_contents ();
echo "sakib";
$ var2 = ob_get_contents ();
echo "Mostafizur";
$ var3 = ob_get_contents ();
// Drucken Sie die konvertierte Zeichenfolge
ob_end_flush ();
Echo "
";
// Drucken Sie die Dump -Werte der Variablen
var_dump ($ var1, $ var2, $ var3);
?>

Ausgang:

Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt. Gemäß der Ausgabe wurden drei Zeichenfolgewerte in Großbuchstaben umgewandelt, und der Inhalt der drei Variablen wurde nicht in den Großbuchstaben umgewandelt.

Abschluss

Die Funktion ob_start () wird im Skript verwendet, wenn es erforderlich ist, um die Daten für einen bestimmten Zweck in den Puffer zu speichern, bevor Sie in die Ausgabe drucken. Die Verwendung der Funktion OB_Start () mit anderen verwandten Funktionen wurde in diesem Tutorial mit mehreren Beispielen erläutert, um den PHP -Benutzern zu helfen, die Verwendung dieser Funktion zu kennen.