Функции управления выводом
Функции управления выводом
ob_start
Включение буферизации вывода.
Синтаксис:
void ob_start([string output_callback])
После вызова этой функции включается буферизация вывода и, пока она активна, никакие из выводящихся данных не будут посланы браузеру, а будут сохраняться во внутреннем буфере PHP.
Содержимое буфера может быть скопировано в строковую переменную функцией ob_get_contents(). Для вывода содержимого из буфера используется функция ob_end_flush(). Удалить содержимое буфера позволяет функция ob_end_clean().
В аргументе output_callback можно указать функцию, которая будет автоматически вызываться при выводе содержимого буфера. Обычно это используется для модификации содержимого буфера перед выводом (например, сжатия). Тогда при вызове функции ob_end_flush() в указанную функцию будет передаваться содержимое буфера, а то, что она возвратит, будет выведено (заметьте, сама функция не должна ничего выводить).
Буферизация может быть вложенной, и тогда она обрабатывается соответственно вложенности; и содержимое, выводимое из буфера нижнего уровня, будет включаться в буфер верхнего уровня. Не забывайте, что для вывода всего буферизованного содержимого необходимо вызывать функцию ob_end_flush() столько же раз, сколько была вызвана ob_start().
<?php
function c($str) { // получает содержимое буфера
return nl2br($str); // возвращает содержимое буфера
}
function d($str) { // получает содержимое буфера
return strtoupper($str); // возвращает содержимое буфера
}
?>
<?php
ob_start("c");
?>
Тут различный текст...
<?php
// преобразовывать текст длее в верхний регистр
ob_start("d");
?>
еще что-то...
<?php
ob_end_flush();
?>
.......
<?php
ob_end_flush();
?>
ob_get_contents
Получение содержимого буфера вывода.
Синтаксис:
string ob_get_contents()
Если буферизация неактивна, возвращается false.
ob_get_length
Получение длины данных в буфере вывода.
Синтаксис:
string ob_get_length()
Если буферизация неактивна, возвращается false.
ob_end_flush
Вывод содержимого буфера.
Синтаксис:
void ob_end_flush(void)
После вывода буфер текущего уровня очищается, поэтому вызывайте функцию ob_get_contents() заранее, если необходимо получить его содержимое.
flush
Вывод всего содержимого буфера.
Синтаксис:
void flush(void);
Функция воздействует только на буферизацию PHP и не может контролировать схему буферизации web-сервера или браузера.
Некоторые серверы, в особенности под Win32, буферизуют выводящиеся сценарием данные до того, как сценарий завершится и данные будут отосланы браузеру.
Браузер, в свою очередь, также может буферизировать получаемые данные до их отображения. Netscape, например, буферизирует текст до получения символа завершения строки или открывающего тега, а для таблиц - до получения тега </table> таблицы верхнего уровня.
ob_end_clean
Очистка буфера.
Синтаксис:
void ob_end_clean(void);
Вызов функции отключает буферизацию на текущем уровне.
ob_implicit_flush
Установление режима буферизации.
Синтаксис:
void ob_implicit_flush([int flag]);
Если в аргументе указано ненулевое значение или оно не указано, то при осуществлении каждой операции вывода будет неявно вызываются функция flush().
Надо отметить, что часто эта функция работает курьезно; например, если в конце сценария вызвать функцию ob_end_clean(), то сценарий не выведет ничего, если вывод из буфера не производился явно другими функциями.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
14.4.2. Функции управления деревьями
14.4.2. Функции управления деревьями Только что описанные операции соответствуют следующим функциям:#include <search.h> /* XSI */void *tsearch(const void *key, void **rootp,int (*compare)(const void*, const void*));void *tfind(const void *key, const void **rootp,int (*compare)(const void*, const void*));void *tdelete(const void *key, void **rootp,int (*compare)(const void*, const void*));typedef enum {
Дополнительные функции управления потоками
Дополнительные функции управления потоками Несмотря на то что функций управления потоками, которые мы выше обсуждали, вполне достаточно для большинства случаев, в том числе и для примеров, приведенных в этой книге, в Windows XP и Windows Server 2003 были введены две дополнительные
Управление выводом
Управление выводом Данная группа функций позволяет управлять тем, как PHP при выполнении сценария выводит информацию. Это может быть полезно в различных ситуациях, в особенности при посылке браузеру HTML-заголовков (headers) после того, как сценарий начал выводить HTML-текст. (В
3.5. Функции управления байтами
3.5. Функции управления байтами Существует две группы функций, работающих с многобайтовыми полями без преобразования данных и без интерпретации их в качестве строк языка С с завершающим нулем. Они необходимы нам при обработке структур адресов сокетов, поскольку такие
ГЛАВА 10. ПОДСИСТЕМА УПРАВЛЕНИЯ ВВОДОМ-ВЫВОДОМ
ГЛАВА 10. ПОДСИСТЕМА УПРАВЛЕНИЯ ВВОДОМ-ВЫВОДОМ Подсистема управления вводом-выводом позволяет процессам поддерживать связь с периферийными устройствами, такими как накопители на магнитных дисках и лентах, терминалы, принтеры и сети, с одной стороны, и с модулями ядра,
8.1. Панель управления нужна для управления
8.1. Панель управления нужна для управления В любом сложном устройстве всегда есть пульт – набор кнопок, рычажков, сенсорных датчиков, штурвалов… словом, приспособлений, с помощью которых можно этим сложным устройством управлять.Есть такой «пульт» и в Vista. Он называется
HTML-элементы управления и серверные элементы управления
HTML-элементы управления и серверные элементы управления Еще одной новинкой технологии ASP.NET является использование серверных элементов управления. Серверный элемент управления кодируется в Web-странице, а все его события и свойства обрабатываются Web-сервером. Серверные
Задержка с выводом средств
Задержка с выводом средств Вывод средств, полученных в результате выигрыша в интернет-казино или лотерее – еще одна лазейка, позволяющая мошенникам получать дополнительные деньги, а точнее – успешно избегать причитающихся игрокам выплат выигранных сумм.Не секрет, что
4.5.3. Функции, которые создают новые конфигурации из существующих 4.5.3.1. Функции геометрии, которые производят новые конфигурации
4.5.3. Функции, которые создают новые конфигурации из существующих 4.5.3.1. Функции геометрии, которые производят новые конфигурации Раздел "4.5.2. Функции Geometry" обсуждает несколько функций, которые создают новые конфигурации из
Элементы управления
Элементы управления В этом разделе будут рассмотрены основные элементы управления, которые используются для формирования пользовательского интерфейса. Особое внимание будет уделено различиям и особенностям поведения этих
Простейшие функции управления "связками ключей".
Простейшие функции управления "связками ключей". Кроме того, PGP 2 реализует простейшие функции управления "связками ключей", включая добавление и удаление ключа со связки, возможность гибкой настройки параметров, а также встроенные функции сжатия исходного открытого
5.1 Информация для управления
5.1 Информация для управления Во время разработки программного обеспечения администрации необходимо оценивать ход работы, возникающие проблемы и вероятности развития процесса. Периодические отчеты, согласно которым проверяют ход работ по графику и представляют планы
Панель управления нужна для управления
Панель управления нужна для управления В любом сложном устройстве всегда есть пульт – набор кнопок, рычажков, сенсорных датчиков, штурвалов… словом, приспособлений, с помощью которых можно этим сложным устройством управлять.Есть такой «пульт» и в Vista. Он называется