(PHP 4, PHP 5)
register_shutdown_function — Регистрирует функцию, которая выполнится по завершении работы скрипта
Регистрирует функцию callback
, которая
выполнится после завершения работы скрипта или при вызове функции
exit().
Возможна регистрация нескольких подобных функций с помощью register_shutdown_function(), при этом функции будут выполняться в том порядке, в каком они были зарегистрированы. Если вы вызовете exit() в одной из зарегистрированных завершающих функций, процесс будет полностью остановлен и последующие завершающие функции не будут вызваны.
callback
Регистрируемая завершающая функция.
Завершающие функции вызываются в течение запроса. Это значит, что из них можно посылать данные на вывод и получать доступ к буферизации вывода.
parameter
Разрешается передавать параметры в завершающую функцию, указав их как дополнительные параметры.
...
Эта функция не возвращает значения после выполнения.
Если передано название несуществующей завершающей функции, то генерируется
ошибка уровня E_WARNING
.
Версия | Описание |
---|---|
4.1.0 | Зарегистрированные завершающие функции теперь вызываются в течение запроса. В ранних версиях, выполнявшихся в Apache, зарегистрированные завершающие функции вызывались после того, как запрос был полностью завершен (включая отсылку всех буферов вывода), так что было невозможно послать вывод в браузер с помощью echo или print, или получить содержимое буферов вывода из ob_get_contents(). Заголовки также уже были посланы к этому моменту. |
Пример #1 Пример использования register_shutdown_function()
<?php
function shutdown()
{
// Это наша завершающая функция,
// здесь мы можем выполнить кое-какую работу
// перед тем как скрипт полностью завершится.
echo 'Скрипт успешно завершился', PHP_EOL;
}
register_shutdown_function('shutdown');
?>
Замечание:
На некоторых веб-серверах рабочая директория скрипта может измениться внутри завершающей функции, например, Apache.