White cat - Справочник по PHP
Скачивание начинается... Если скачивание не началось автоматически, пожалуйста нажмите на эту ссылку.
Жалоба
Напишите нам, и мы в срочном порядке примем меры.
Описание книги "Справочник по PHP"
Описание и краткое содержание "Справочник по PHP" читать бесплатно онлайн.
Вниманию читателей предлагается справочник по PHP.
Справочник предназначается для людей, уже освоивших азы программирования на языке PHP.
Справочник создан на основе информации, предоставленной на сайте «Справочник Web-языков» www.spravkaweb.ru.
Эти функции не воздействуют на заголовки, посланные функциями header() или setcookie(), а только на функции, подобные echo() и HTML-тексту между блоками PHP-кода.
<?php
ob_start();
echo "Hellon"
setcookie("cookiename", "cookiedata");
ob_end_flush();
?>
В примере выше вывод командой echo() будет сохранен в буфере вывода до вызова функции ob_end_flush(). В то же время вызов setcookie() успешно сохраняет cookie, не вызывая ошибки.
Введение
Данная группа функций позволяет управлять тем, как PHP при выполнении сценария выводит информацию. Это может быть полезно в различных ситуациях, в особенности при посылке браузеру HTML-заголовков (headers) после того, как сценарий начал выводить HTML-текст. (В обычном случае невозможно послать заголовок после того, как был начат вывод текста.)
Эти функции не воздействуют на заголовки, посланные функциями header() или setcookie(), а только на функции, подобные echo() и HTML-тексту между блоками PHP-кода.
<?php
ob_start();
echo "Hellon"
setcookie("cookiename", "cookiedata");
ob_end_flush();
?>
В примере выше вывод командой echo() будет сохранен в буфере вывода до вызова функции ob_end_flush(). В то же время вызов setcookie() успешно сохраняет cookie, не вызывая ошибки.
Функции управления выводом
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(), то сценарий не выведет ничего, если вывод из буфера не производился явно другими функциями.
Управление исполнением сценария PHP
set_time_limit
Установка предельного времени исполнения сценария.
Синтаксис:
void set_time_limit(int seconds)
При запуске сценария PHP запускает системный таймер, и если время (выделенное сценарию для выполнения) истекает, а сценарий еще не завершился, PHP принудительно завершает сценарий (генерируя фатальную ошибку исполнения). Это не допускает скопления большого количества сценариев, расходующих ресурсы сервера, но, повидимому, "зависших" (например, если в них обнаружился бесконечный цикл или они пытаются дождаться подключения к не отвечающему серверу).
По умолчанию допустимое время исполнения сценария устанавливается в файле конфигурации параметром max_execution_time (обычно оно равно 30 с). Но для текущего сценария это время можно изменить вызовом данной функции, указав время в секундах в ее аргументе. Если указывается значение 0, то тогда временное ограничение снимается.
Отсчет времени начинается от момента вызова функции. Например, если сценарий уже выполнялся в течении 15 секунд, а затем вызывается функция set_time_limit(20), то общее максимальное время исполнения сценария становится равным 35 секундам.
Если сценарий выполняется в безопасном режиме (с установленным параметром safe mode), то тогда вызов этой функции игнорируется и используется значение из файла конфигурации.
sleep
Задержка выполнения сценария.
Синтаксис:
void sleep(int seconds);
Фукция sleep() выполняет задержку выполнения сценария в секундах (seconds).
usleep
Задержка выполнения сценария в микросекундах.
Синтаксис:
void usleep(int micro_seconds);
Задержка выполнения сценария в микросекундах (micro_seconds).
Эта функция не работает в Windows.
die
Вывод сообщения и завершение текущего сценария.
Синтаксис:
void die(string message);
Эта функция выводит сообщение и прекращает выполнение текущего скрипта. Не возвращает значение.
<?php
$filename = '/path/to/data-file';
$file = fopen($filename, 'r')
or die "unable to open file ($filename)";
?>
exit
Завершает текущий сценарий.
Синтаксис:
void exit(void);
Эта функция завершает текущий сценарий. Не возвращает значение.
assert
Проверка истинности значения.
Синтаксис:
int assert(string|bool assertion);
В качестве аргумента функции может быть указано значение или строка, содержащая код PHP (как в функции eval()). Функция проверяет, является ли значение (или выражение) равным false, и, если это так, выполняет определенные действия.
Поведение функции определяется установками в файле конфигурации или при вызове функции assert_options().
Обычно эта функция используется исключительно в целях отладки, для проверки тех значений, которые всегда должны быть истинны (например: подключение модуля, свободное пространство на диске и т.д.).
В целом же выполнение сценария не должно зависеть от таких проверок, а использовать обычные проверки возвращаемых функциями значений.
<?php
function handler() {
echo "n* Failed * n";
}
assert("$a='1';");
echo "a: $a n";
assert(0);
// завершать сценарий
echo assert_options(ASSERT_BAIL, 1);
// вызвать обработчик
assert_options(ASSERT_CALLBACK, "handler");
// не выдавать сообщений PHP
@assert(--$a);
// эта строка не будет выполнена
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!
Похожие книги на "Справочник по PHP"
Книги похожие на "Справочник по PHP" читать онлайн или скачать бесплатно полные версии.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Отзывы о "White cat - Справочник по PHP"
Отзывы читателей о книге "Справочник по PHP", комментарии и мнения людей о произведении.