ob start()

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

ob_start

(PHP 4, PHP 5, PHP 7, PHP 8)

ob_start — Slå på utdata-buffring

Beskrivning

ob_start(?callable $callback = null, int $chunk_size = 0, int $flags = PHP_OUTPUT_HANDLER_STDFLAGS): bool Denna funktion slår på utdata-buffring. Medan utdata-buffring är aktiv skickas ingen utdata från skriptet; istället lagras utdatan i en intern buffert. Se What Output Is Buffered? för exakt vilken utdata som påverkas.

Utdata-buffrar är stapelbara, det vill säga att ob_start() kan anropas medan en annan buffert är aktiv. Om flera utdata-buffrar är aktiva filtreras utdatan sekventiellt genom var och en i den ordning de är staplade. Se Nesting Output Buffers för mer information.

För en detaljerad beskrivning av utdata-buffrar, se User-Level Output Buffers.

Parametrar

callback
En valfri callback kan specificeras. Det kan också utelämnas genom att ange null.

callback anropas när utdata-bufferten rensas, skickas, eller när bufferten spolas i slutet av skriptet.

Callback-signaturen är som följer:

handler(string $buffer, int $phase = ?): string

Om callback returnerar false returneras innehållet i bufferten. Se Output Handler Return Values för mer information.

Varning Att anropa någon av följande funktioner från inom en utdata-hanterare resulterar i ett fatalt fel: ob_clean(), ob_end_clean(), ob_end_flush(), ob_flush(), ob_get_clean(), ob_get_flush(), ob_start().

Se Output Handlers och Working With Output Handlers för mer information om callbacks (utdata-hanterare).

chunk_size
Om den valfria parametern chunk_size anges, spolas bufferten efter att någon kod producerar utdata som gör att buffertens längd är lika med eller överstiger chunk_size. Standardvärdet 0 innebär att all utdata buffras tills bufferten stängs av. Se Buffer Size för mer information.
flags
Parametern flags är en bitmask som kontrollerar de operationer som kan utföras på utdata-bufferten. Standardvärdet tillåter utdata-buffertar att rensas, spolas och tas bort, vilket kan anges explicit via buffert-kontrollflaggor. Se Operations Allowed On Buffers för mer information.

Varje flagga styr tillgången till en uppsättning funktioner enligt följande:

Konstant Funktioner
PHP_OUTPUT_HANDLER_CLEANABLE ob_clean()
PHP_OUTPUT_HANDLER_FLUSHABLE ob_flush()
PHP_OUTPUT_HANDLER_REMOVABLE ob_end_clean(), ob_end_flush(), ob_get_clean(), ob_get_flush()

Returvärden

Returnerar true vid framgång eller false vid misslyckande.

Exempel

Exempel #1 Användardefinierad callback-funktion exempel

<?php

function callback($buffer) {
  // Ersätter alla "äpplen" med "apelsiner"
  return (str_replace("apples", "oranges", $buffer));
}

ob_start("callback");

?>
<html>
<body>
<p>It's like comparing apples to oranges.</p>
</body>
</html>
<?php

ob_end_flush();

?>

Det ovanstående exemplet ger följande utdata:

<html>
<body>
<p>It's like comparing oranges to oranges.</p>
</body>
</html>

Exempel #2 Skapa en icke-raderbar utdata-buffert

<?php

ob_start(null, 0, PHP_OUTPUT_HANDLER_STDFLAGS ^ PHP_OUTPUT_HANDLER_REMOVABLE);

?>

Se även

Sidslut

Orginalhemsidan på Engelska :https://www.php.net/manual/en/function.ob-start.php

PHP Funktioner Funktionsreferens


Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontaka-linux-se/

Tack till Datorhjälp och Datorservice som har sponsrat Linux.se med webserver.