Różnica między ob get clean I ob get flush

Oba zdają się robić to samo: zwracać zawartość bufora wyjściowego i usuwać go z powrotem.

Którego użyć?

Author: bostaf, 2011-09-11

4 answers

Aby bezpośrednio spróbować odpowiedzieć na twoje pytanie:

Jeśli chcesz ponownie rozpocząć buforowanie wyjścia po przepłukaniu bufora, użyj ob_get_clean, ponieważ buforowanie wyjścia będzie nadal gotowe bez włączania go z powrotem. (pamiętaj, że może być używany tylko wtedy, gdy nie ma tekstu, nawet białe spacje są echo do przeglądarki). Tak więc dla bardziej ogólnych zastosowań, wszystkie moje książki programistyczne błądzą w kierunku ob_get_flush (jako tylko jeden bufor na większość skryptów)

 -7
Author: user885983,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-09-11 17:13:21

ob_get_clean() usuwa bufor (bez drukowania) i zwraca jego zawartość.

ob_get_flush() wyświetla bufor, usuwa go i zwraca jego zawartość.

 96
Author: arnaud576875,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-09-11 20:50:47

ob_get_clean zwróci zawartość bufora i przypisze ją do dowolnej zmiennej, ale nie wyświetli niczego.

ob_get_flush z drugiej strony, robi wszystko, co ob_get_clean robi, ale także wyświetla zawartość.

 19
Author: Shef,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-09-11 17:01:03

Obie funkcje czyszczą bufor wyjściowy, wyłączają buforowanie wyjściowe i zwracają poprzednią wartość bufora.

Jednakże, ob_get_flush najpierw wysyła bieżący bufor do klienta, natomiast ob_get_clean po prostu je odrzuca.

 8
Author: phihag,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-10-26 08:52:55