Napisany lis-07-2008

kontrolujemy wyjście

Czasami zdarza się sytuacja, w której chcemy ustawić nagłówki HTTP, gdy wysłaliśmy już na wyjście jakieś dane. Można ten problem łatwo rozwiązać stosując funkcje: ob_start() i ob_end_flush() albo poprzez odpowiednią zmianę dyrektywy output_buffering w pliku php.ini. Dziś jednak zastanowimy się jak kontrolować “wyjście funkcji”. Co mam na myśli? Popatrzmy poniżej:

function print_something ($thing) {

	echo $thing;

}

print_something('hello world');

Tutaj wynik działania od razu trafia nam na wyjście. Czasami jednak przydaje się dodatkowa “obróbka” tego co dostajemy po wywołaniu funkcji. W jaki więc sposób tego dokonać? Zobaczmy rozwiązanie:

function print_something ($thing) {

	echo $thing;

}

ob_start();

print_something('hello world');

//wynik dzialania do zmiennej

$output = ob_get_contents();

ob_get_clean();

//obrobiony wynik wywolania funkcji

echo strlen($output);

Zainteresowanych pogłębianiem wiedzy na ten temat muszę odesłać do Google lub manual’a. Być może w przyszłości poświęcę tej tematyce większą uwagę :)

Tagi : ,

Komentarze:

Napisz komentarz