Разница между очисткой ob и очисткой ob
Похоже, что они оба делают одно и то же: возвращают вам содержимое выходного буфера и удаляют его после.
Какой из них мне следует использовать?
4 answers
Чтобы напрямую попытаться ответить на ваш вопрос:
Если вы хотите снова начать буферизацию вывода после очистки буфера, используйте ob_get_clean, так как буферизация вывода все равно будет готова без необходимости ее повторного включения. (помните, что это можно использовать только в том случае, если в браузере нет текста, даже пробелов). Таким образом, для более общего использования все мои книги по программированию ошибаются в сторону ob_get_flush (как только один буфер для большинства сценариев)
ob_get_clean()
удаляет буфер (без его печати) и возвращает его содержимое.
ob_get_flush()
печатает буфер, удаляет его и возвращает его содержимое.
ob_get_clean
просто вернет содержимое буфера и назначит его любой переменной, которую вы хотите, но она ничего не выведет.
ob_get_flush
с другой стороны, делает все, что делает ob_get_clean
, но также выводит содержимое.
Обе функции очищают выходной буфер, отключают буферизацию вывода и возвращают предыдущее значение буфера.
Однако, ob_get_flush
сначала отправляет текущий буфер клиенту, в то время как ob_get_clean
просто отбрасывает его.