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