bool ob_start ([ callback $output_callback [, int $chunk_size [, bool $erase ]]] )
Przełącza w pozycję ON status wyjściowego buferu PHP. Podczas gdy wyjście jest aktywne wyjścia buforowania nie są wysyłane ze skryptu, a wynik jest przechowywany w wewnętrznym buforze.
Zawartość tego wewnętrznego bufora może zostać skopiowana do zmiennej, używając ob_get_contents(). Aby zobaczyć, co jest przechowywane w buforze wewnętrznym, użyj ob_end_flush(). Alternatywnie, ob_end_clean() będzie dyskretniej wyrzucać zawartość bufora.
Parametry
$output_callback
Funkcja ta przyjmuje jako parametr ciąg znaków i powinien zwrócić string. Funkcja zostanie wywołana gdy ob_end_flush() jest wywołany, lub gdy wyjście bufora jest źródłem do przeglądarki na końcu zapytania. Gdy output_callback zostaje wezwany, otrzymuje wtedy zawartość bufora wyjściowego jako parametr i oczekuje na powrót nowego wyjście bufora w wyniku, które zostanie przesłane do przeglądarki. Jeśli output_callback nie jest wywołany, funkcja ta zwróci FALSE.
Jeśli output_callback zwraca FALSE oryginalne zapytanie zostanie wysłane do przeglądarki.
W output_callback parametr może być pomijany przekazując wartość NULL.
Informacja: W PHP 4.0.4, ob_gzhandler () został wprowadzony w celu ułatwienia wysyłania GZ-zakodowanych danych do przeglądarek internetowych, które obsługują skompresowane strony internetowe. ob_gzhandler () określa, jakiego rodzaju treści kodowania przeglądarki będą akceptować i zwróci je odpowiednio.
$chunk_size
Wartość domyślna 0 oznacza, że funkcja jest wywoływana tylko w końcu, innych specjalnych wartość 1 określa chunk_size na 4096.
$erese
Jeśli opcjonalny parametr wymazać jest ustawiony na false, informacje z bufora nie zostaną usunięte, dopóki skrypt się nie zakończy. (jak w PHP 4.3.0).
Kompatybilność: PHP4, PHP5.
Listing
function callback($buffer)
{
// zamienienie wszystkich jabłek na pomarańcze
return (str_replace("jabłka", "pomarańczy", $buffer));
}
ob_start("callback");
?>
<html>
<body>
<p>To ja porównywanie jabłka do pomarańczy.</p>
</body>
</html>
<?php
ob_end_flush();
?>
//zwróci:
<html>
<body>
<p>To ja porównywanie pomarańczy do jabłka.</p>
</body>
</html>
Ranga: Administrator serwisu Punktów: 0