PHP OB_START -funksjon

PHP OB_START -funksjon
OB_START () er en innebygd funksjon av PHP for å aktivere utgangsbufferen. Hvis utgangsbufferen er aktivert, vil all utgang lagres i den interne bufferen, og ingen utgang fra skriptet vil bli sendt til nettleseren. Noen andre innebygde funksjoner brukes med OB_START () -funksjonen. OB_GET_CONTENT () -funksjonen brukes til å lagre innholdet i den interne bufferen i en variabel.

OB_END_FLUSH () -funksjonen brukes til å skrive ut innholdet i den interne bufferen. Ob_end_clean () -funksjonen brukes til å rengjøre innholdet i den interne bufferen. Bruken av OB_Start () -funksjonen i PHP har vist i denne opplæringen.

Syntaks:

Alle argumenter for OB_START () -funksjonene er valgfrie, og det kan ta tre argumenter. Syntaksen til denne funksjonen er gitt nedenfor.

bool ob_start (callable $ callback = null, int $ chunk_size = 0, int $ flaggs = php_output_handler_stdflags)
  • Det første valgfrie argumentet tar et tilbakeringingsfunksjonsnavn for å endre innholdet i bufferen før sender til utdataene.
  • Den andre valgfrie verdien brukes til å angi bufferstørrelse, og standardverdien for dette argumentet er 0.
  • Det tredje valgfrie argumentet brukes til å angi bitmasken som definerer hvilke operasjoner som er tillatt og hvilke som ikke er tillatt. Standardverdien for dette argumentet er php_output_handler_stdflags som indikerer at ob_flush (), ob_clean (), ob_get_flush (), ob_end_flush () og ob_end_clean () funksjoner er tillatt.
  • Det kommer tilbake ekte om suksess og returnerer falsk på feil.

Forskjellige bruksområder av ob_start () -funksjonen

Bruken av OB_Start () -funksjonen med andre bufferrelaterte funksjoner er blitt forklart i denne delen av opplæringen.

Eksempel-1: Bruk av OB_START () -funksjonen uten noe argument

Lag en PHP -fil med følgende skript for å vite bruken av OB_START () -funksjonen uten noe argument. To strengverdier er sendt til bufferen etter å ha ringt OB_START () -funksjonen. Ob_end_clean () -funksjonen er blitt kalt i skriptet for å rense bufferen etter å ha ringt OB_START () -funksjonen første gang. For dette vil den første strengen bli fjernet fra bufferen, og den andre strengen vil bli skrevet ut i utgangen.

// ring ob_start () funksjon første gang
ob_start ();
// Skriv ut strengverdien
ekko "Testing String Value1
";
// Rengjør bufferen
ob_end_clean ();
// ring ob_start () funksjon andre gang
ob_start ();
// Skriv ut strengverdien
ekko "Testing String Value2
";
?>

Produksjon:

Følgende utdata vises etter å ha utført skriptet ovenfor.

Eksempel-2: Bruk av ob_start () -funksjon med tilbakeringingsfunksjon

Lag en PHP -fil med følgende skript for å kjenne bruken av OB_START () -funksjonen med en tilbakeringingsfunksjon. En strengvariabel er erklært i skriptet. Tilbakekallingsfunksjonen () er blitt erklært å erstatte den aktuelle delen av strengvariabelen før du skyller utgangen fra bufferen. Ob_start () -funksjonen kalles med det første argumentet som vil kalle tilbakeringingsfunksjonen () og returnere den modifiserte strengen til bufferen. Deretter har Ob_end_flush () -funksjonen brukt til å skylle innholdet i bufferen i nettleseren.

// erklære en strengvariabel
$ str = "Jeg liker PHP -programmering.
";
ekko "Den opprinnelige strengen: $ str ";
// definere tilbakeringingsfunksjonen
Funksjons tilbakeringing ($ buffer)

// erstatte ordet 'php' med 'python'
return (str_replace ("php", "python", $ buffer));

ekko "Den erstattede strengen:";
// Ring Ob_Start () -funksjonen med tilbakeringingsfunksjon
ob_start ("tilbakeringing");
ekko $ str;
// Skriv ut innhold av den interne bufferen
ob_end_flush ();
?>

Produksjon:

Følgende utdata vises etter å ha utført skriptet ovenfor. I følge utgangen er ordet, 'php' fra strengen erstattet av ordet, 'python'. Strengen, 'Jeg liker PHP -programmering'har konvertert til strengen,'Jeg liker Python -programmering'av tilbakeringings- () -funksjonen.

Eksempel-3: Bruk av OB_START () -funksjonen med Bitmask-verdien

Det er nevnt før at standard bitmask -verdien til OB_START () -funksjonen er php_output_handler_stdflags. Denne funksjonen har mange andre bitmaskverdier.

Bruken av php_output_handler_cleanable og php_output_handler_flushable bitmasker har vist i dette eksemplet.

Ingen tilbakeringingsfunksjoner er definert for OB_START () -funksjonen her, og størrelsen på bufferen er satt til 0. Ob_clean () -funksjonen vil fjerne innholdet fra bufferen. Så den første utgangen vil ikke bli skrevet ut i nettleseren.

// erklære funksjon med php_output_handler_cleanable flagg
ob_start (null, 0, php_output_handler_cleanable);
ekko "Linux hint
";
// Rengjør bufferen
ob_clean ();
// erklære funksjon med php_output_handler_flushable flagg
ob_start (null, 0, php_output_handler_flushable);
ekko "Velkommen til Linuxhint";
?>

Produksjon:

Følgende utdata vises etter å ha utført skriptet ovenfor. I følge utgangen er den andre utgangen fra bufferen skrevet ut.

Eksempel-4: Bruk av OB_START () -funksjonen med OB_GET_CONTENTS () -funksjonen

Lag en PHP -fil med følgende skript for å kjenne bruken av OB_START () -funksjonen med en tilbakeringingsfunksjon og OB_GET_CONTENTS () -funksjonen. Convert_upper () -funksjonen har brukt som tilbakeringingsfunksjonen til OB_START () -funksjonen. Hensikten med denne funksjonen er å konvertere innholdet i bufferen til store bokstaver. Tre strengverdier er sendt til bufferen, og utgangen fra ob_get_contents () er lagret i tre variabler. Når funksjonen OB_end_FLUSH () vil bli utført, vil det modifiserte innholdet i bufferen bli skrevet ut i nettleseren. Var_dump () -funksjonen vil dumme det innholdet i tre variabler.

// definere tilbakeringingsfunksjonen
funksjon convert_upper ($ buffer)

// skjult strengen i store bokstaver
return (strtoUpper ($ buffer));

// ring på_start () med tilbakeringingsfunksjon
ob_start ('convert_upper');
// Strengen blir konvertert til store bokstaver
ekko "Adnan";
$ var1 = ob_get_contents ();
ekko "Sakib";
$ var2 = ob_get_contents ();
ekko "Mostafizur";
$ var3 = ob_get_contents ();
// Skriv ut den konverterte strengen
ob_end_flush ();
ekko "
";
// Skriv ut dumpverdiene til variabelen
var_dump ($ var1, $ var2, $ var3);
?>

Produksjon:

Følgende utdata vises etter å ha utført skriptet ovenfor. I følge utgangen har tre strengverdier konvertert til store bokstaver, og innholdet i de tre variablene har ikke konvertert til store bokstaver.

Konklusjon

OB_START () -funksjonen brukes i skriptet når det kreves å lagre dataene i bufferen for et bestemt formål før du skriver ut i utgangen. Bruken av OB_Start () -funksjonen med andre relaterte funksjoner er blitt forklart i denne opplæringen med flere eksempler for å hjelpe PHP -brukerne til å kjenne bruken av denne funksjonen.