Разница между очисткой ob и очисткой ob


Похоже, что они оба делают одно и то же: возвращают вам содержимое выходного буфера и удаляют его после.

Какой из них мне следует использовать?

Author: bostaf, 2011-09-11

4 answers

Чтобы напрямую попытаться ответить на ваш вопрос:

Если вы хотите снова начать буферизацию вывода после очистки буфера, используйте ob_get_clean, так как буферизация вывода все равно будет готова без необходимости ее повторного включения. (помните, что это можно использовать только в том случае, если в браузере нет текста, даже пробелов). Таким образом, для более общего использования все мои книги по программированию ошибаются в сторону ob_get_flush (как только один буфер для большинства сценариев)

 -7
Author: user885983, 2011-09-11 17:13:21

ob_get_clean() удаляет буфер (без его печати) и возвращает его содержимое.

ob_get_flush() печатает буфер, удаляет его и возвращает его содержимое.

 96
Author: arnaud576875, 2011-09-11 20:50:47

ob_get_clean просто вернет содержимое буфера и назначит его любой переменной, которую вы хотите, но она ничего не выведет.

ob_get_flush с другой стороны, делает все, что делает ob_get_clean, но также выводит содержимое.

 19
Author: Shef, 2011-09-11 17:01:03

Обе функции очищают выходной буфер, отключают буферизацию вывода и возвращают предыдущее значение буфера.

Однако, ob_get_flush сначала отправляет текущий буфер клиенту, в то время как ob_get_clean просто отбрасывает его.

 8
Author: phihag, 2012-10-26 08:52:55