Funzione PHP OB_START

Funzione PHP OB_START
Ob_start () è una funzione integrata di PHP per abilitare il buffering di output. Se il buffering di output è abilitato, tutto l'uscita verrà archiviato nel buffer interno e nessuna uscita dallo script verrà inviata al browser. Alcune altre funzioni integrate sono utilizzate con la funzione ob_start (). La funzione ob_get_content () viene utilizzata per archiviare il contenuto del buffer interno in una variabile.

La funzione ob_end_flush () viene utilizzata per stampare il contenuto del buffer interno. La funzione OB_END_CLEAN () viene utilizzata per pulire il contenuto del buffer interno. Gli usi della funzione ob_start () in PHP hanno mostrato in questo tutorial.

Sintassi:

Tutti gli argomenti delle funzioni ob_start () sono opzionali e possono richiedere tre argomenti. La sintassi di questa funzione è riportata di seguito.

bool ob_start (calllable $ callback = null, int $ chunk_size = 0, int $ flags = php_output_handler_stdflags)
  • Il primo argomento opzionale prende un nome di funzione di callback per modificare il contenuto del buffer prima dell'invio all'output.
  • Il secondo valore opzionale viene utilizzato per impostare la dimensione del buffer e il valore predefinito di questo argomento è 0.
  • Il terzo argomento opzionale viene utilizzato per impostare la maschera bit che definisce quali operazioni sono consentite e quali non sono consentite. Il valore predefinito di questo argomento è php_output_handler_stdflags che indica che sono consentite le funzioni ob_flush (), ob_clean (), ob_get_flush (), ob_end_flush () e ob_end_lean ().
  • Ritorna VERO al successo e ai ritorni falso in caso di fallimento.

Diversi usi della funzione ob_start ()

Gli usi della funzione ob_start () con altre funzioni correlate al buffer sono stati spiegati in questa parte del tutorial.

Esempio-1: uso della funzione ob_start () senza alcun argomento

Crea un file PHP con il seguente script per conoscere l'uso della funzione ob_start () senza alcun argomento. Due valori di stringa sono stati inviati al buffer dopo aver chiamato la funzione ob_start (). La funzione OB_END_CLEAN () è stata chiamata nello script per pulire il buffer dopo aver chiamato la funzione ob_start () la prima volta. Per questo, la prima stringa verrà rimossa dal buffer e la seconda stringa verrà stampata nell'output.

// Chiama la funzione ob_start () per la prima volta
ob_start ();
// Stampa il valore della stringa
Echo "Test String Value1
";
// Pulisci il buffer
ob_end_clean ();
// chiama ob_start () funzione seconda
ob_start ();
// Stampa il valore della stringa
Echo "Test String Value2
";
?>

Produzione:

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra.

Esempio 2: uso della funzione ob_start () con funzione di callback

Crea un file PHP con il seguente script per conoscere l'uso della funzione ob_start () con una funzione di callback. Una variabile stringa viene dichiarata nello script. La funzione callback () è stata dichiarata per sostituire la parte particolare della variabile stringa prima di scaricare l'uscita dal buffer. La funzione ob_start () viene chiamata con il primo argomento che chiamerà la funzione callback () e restituirà la stringa modificata al buffer. Successivamente, la funzione OB_END_FLUSH () ha usato per scaricare il contenuto del buffer nel browser.

// Dichiara una variabile di stringa
$ str = "Mi piace la programmazione PHP.
";
eco "La stringa originale: $ str ";
// Definisci la funzione di callback
Callback della funzione ($ buffer)

// Sostituisci la parola "PHP" con "Python"
return (str_replace ("php", "python", $ buffer));

eco "La stringa sostituita:";
// chiama la funzione ob_start () con la funzione di callback
ob_start ("callback");
Echo $ STR;
// Stampa il contenuto del buffer interno
ob_end_flush ();
?>

Produzione:

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra. Secondo l'output, la parola "php" dalla stringa è stata sostituita dalla parola "Python". La stringa, 'Mi piace la programmazione PHP"Si è convertito nella stringa,"Mi piace la programmazione di Python'dalla funzione callback ().

Esempio-3: uso della funzione ob_start () con il valore bitmask

In precedenza è menzionato che il valore Bitmask predefinito della funzione ob_start () sia php_output_handler_stdflags. Questa funzione ha molti altri valori di Bitmask.

Gli usi di php_output_handler_cleanable e php_output_handler_frushable bitmasks hanno mostrato in questo esempio.

Nessuna funzione di callback è stata definita per la funzione ob_start () qui e la dimensione del buffer è stata impostata su 0. La funzione ob_clean () rimuoverà il contenuto dal buffer. Quindi il primo output non verrà stampato nel browser.

// Dichiara la funzione con php_output_handler_cleanable flag
ob_start (null, 0, php_output_handler_cleanable);
Echo "Linux Suggerimento
";
// Pulisci il buffer
ob_clean ();
// Dichiara la funzione con php_output_handler_frushable flag
ob_start (null, 0, php_output_handler_frushable);
Echo "Welcome to LinuxHint";
?>

Produzione:

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra. Secondo l'output, la seconda uscita del buffer è stata stampata.

Esempio-4: utilizzo della funzione ob_start () con ob_get_contents ()

Crea un file PHP con il seguente script per conoscere l'uso della funzione ob_start () con una funzione di callback e la funzione ob_get_contents (). La funzione convert_upper () ha usato come funzione di callback della funzione ob_start (). Lo scopo di questa funzione è convertire il contenuto del buffer in maiuscolo. Tre valori di stringa sono stati inviati al buffer e l'output di ob_get_contents () è stato archiviato in tre variabili. Quando verrà eseguita la funzione ob_end_flush (), il contenuto modificato del buffer verrà stampato nel browser. La funzione var_dump () stupmerà quel contenuto di tre variabili.

// Definisci la funzione di callback
funzione convert_upper ($ buffer)

// coperto la stringa in maiuscolo
return (strtoupper ($ buffer));

// chiama on_start () con la funzione di callback
ob_start ('convert_upper');
// La stringa verrà convertita in maiuscolo
echo "Adnan";
$ var1 = ob_get_contents ();
echo "sakib";
$ var2 = ob_get_contents ();
Echo "Mostafizur";
$ var3 = ob_get_contents ();
// Stampa la stringa convertita
ob_end_flush ();
eco "
";
// Stampa i valori di dump della variabile
var_dump ($ var1, $ var2, $ var3);
?>

Produzione:

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra. Secondo l'output, tre valori di stringa si sono convertiti in lettere maiuscole e il contenuto delle tre variabili non è stato convertito in lettera maiuscola.

Conclusione

La funzione OB_START () viene utilizzata nello script quando è necessaria per archiviare i dati nel buffer per uno scopo particolare prima di stampare nell'output. L'uso della funzione ob_start () con altre funzioni correlate è stato spiegato in questo tutorial con più esempi per aiutare gli utenti PHP a conoscere l'uso di questa funzione.