Хорошо, позвольте мне объяснить это так,
Это только одно из применений буферной системы, но я думаю, что это круто.
Сначала я хочу, чтобы вы посмотрели на эту анимацию.
Запуск операционной системы
Если у вас есть php-скрипт с такой структурой, основанной на уровнях, например, вы можете написать:
Соединение установлено с сервером базы данных.
База данных выбрана: my_database
Запрос данных запущен
Запрос данных завершен (найдено: 200 строк)
...
и т.д.. но если вы не используете буферизацию и очистку вывода, вы увидите эти строки, когда закончится выполнение всего вашего скрипта. Но когда мысль «Я хочу посмотреть, что делает мой сценарий, когда!», Вам сначала нужно ..
Извините, сначала вам нужно установить implicit_flush в значение "on" в вашем файле php.ini и перезапустить сервер apache, чтобы увидеть все это.
во-вторых, вам нужно открыть буферизацию вывода (сокращение "ob") с помощью "ob_start ();", а затем,
поместите где-нибудь в вашем коде операторы "echo" и после этого "ob_flush ();" Команды, чтобы увидеть ваш скрипт работает в режиме реального времени.
Позже он также используется для буферизации статического содержимого на основе файлов, например:
- поместите ob_start () в начале вашей страницы (или в начале контента, который вы хотите захватить)
поместите ob_end_flush () в конец вашей страницы (или в конец контента, который вы хотите захватить);
затем $ my_var = ob_get_contents (); получить весь вывод HTML, который сервер создает и отправляет клиенту в переменную my_var, а затем использовать его по своему усмотрению. В основном он сохраняется в файл и, проверяя дату последнего изменения файла, используется как статическая буферизация.
Надеюсь, я смогу зажечь ваши мысли.