Funkce řízení výstupu PHP
Funkce řízení výstupu PHP
PHP poskytuje sadu funkcí, které řídí, jaký obsah se odesílá do prohlížeče a kdy. Toto se nazývá výstupní řízení .
Výstup může pocházet z kteréhokoli z následujících zdrojů:
echo
,print
,printf
,print_r
... a další podobné funkce a příkazy- Upozornění, varování a chyby z PHP
- Jakýkoli obsah mimo
<?php ?>
značky
PHP a backend, na kterém běží, mohou uchovávat výstup ve vyrovnávací paměti před jeho odesláním uživateli.
Poznámka: Funkce řízení výstupu mohou vytvořit libovolný počet výstupních vyrovnávacích pamětí. Výstupní buffery zachycují výstup daný programem. Každá nová výstupní vyrovnávací paměť je umístěna na vrcholu zásobníku výstupních vyrovnávacích pamětí a jakýkoli výstup, který poskytuje, bude zachycen vyrovnávací pamětí pod ní. Funkce řízení výstupu zpracovávají pouze nejvyšší vyrovnávací paměť, takže nejvyšší vyrovnávací paměť musí být odstraněna, aby bylo možné ovládat vyrovnávací paměti pod ní.
Instalace
Funkce řízení výstupu PHP jsou součástí jádra PHP. Pro použití těchto funkcí není nutná žádná instalace.
Konfigurace běhového prostředí
Chování funkcí ovládání výstupu je ovlivněno nastavením v php.ini:
Name | Default | Description | Version |
---|---|---|---|
output_buffering | "0" | Enables output buffering for all PHP files by default | 4 |
output_handler | NULL | Set the name of the default function which handles the output of all output buffers | 4 |
implicit_flush | "0" | Enables implicit flush, which causes output to be sent directly to the browser on each output statement | 4 |
url_rewriter.tags | "a=href,area=href, frame=src,form=,fieldset=" | Indicates which HTML tags and attributes can be modified by the URL rewriter (the output_add_rewrite_var() function.) | 4.3 |
url_rewriter.hosts | The current value of $_SERVER['HTTP_HOST'] | URL rewriting is only done on the server's own URLs by default. To allow for rewriting URLs of other websites, set the hostnames of the other websites here. | 7.1 |
Funkce řízení výstupu PHP
Method | Function |
---|---|
flush() | Attempts to send content from the system's output buffer to the browser |
ob_clean() | Deletes all of the content from the topmost output buffer |
ob_end_clean() | Deletes the topmost output buffer and all of its contents |
ob_end_flush() | Deletes the topmost output buffer and outputs its contents |
ob_flush() | Outputs the contents of the topmost output buffer and clears the buffer |
ob_get_clean() | Returns all of the contents of the topmost output buffer and clears the buffer |
ob_get_contents() | Returns the contents of the topmost output buffer |
ob_get_flush() | Outputs and returns the contents of the topmost output buffer and then deletes the buffer |
ob_get_length() | Returns the number of bytes of data that are in the topmost output buffer |
ob_get_level() | Returns a number indicating how many output buffers are on the stack |
ob_get_status() | Returns information about the output buffers |
ob_gzhandler() | Used as a callback function for ob_start() to compress the contents of the buffer when sending it to the browser |
ob_implicit_flush() | Turns implicit flushing on or off |
ob_list_handlers() | Returns an array of callback function names that are being used by the topmost output buffer |
ob_start() | Creates a new output buffer and adds it to the top of the stack |
output_add_rewrite_var() | Used to append query string parameters to any URL in the output |
output_reset_rewrite_vars() | Removes all variables added by output_add_rewrite_var() |