ob start()
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
- buffer - Innehållet i utdata-bufferten.
- phase - Bitmask av PHP_OUTPUT_HANDLER_*-konstanter. Se Flags Passed To Output Handlers för mer information.
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:
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
- ob_get_contents() - Returnera innehållet i utdata-bufferten
- ob_end_clean() - Rensa (ta bort) innehållet i den aktiva utdata-bufferten och stäng av den
- ob_end_flush() - Skicka returvärdet från den aktiva utdata-hanteraren och stäng av den aktiva utdata-bufferten
- ob_implicit_flush() - Slå på/av implicit spolning
- ob_gzhandler() - ob_start() callback-funktion för att gzip-komprimera utdata-buffert
- ob_iconv_handler() - Konvertera teckenkodning som utdata-buffert hanterare
- mb_output_handler() - Callback-funktion som konverterar teckenkodning i utdata-buffert
- ob_tidyhandler() - ob_start() callback-funktion för att reparera bufferten
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.