register_shutdown_function

(PHP 4, PHP 5)

register_shutdown_functionРегистрирует функцию, которая выполнится по завершении работы скрипта

Описание

void register_shutdown_function ( callback $callback [, mixed $parameter [, mixed $... ]] )

Регистрирует функцию 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.

Смотрите также


Участник рейтинга Тэглайн 2010