(PHP 4, PHP 5)
register_shutdown_function — Registrar una función para que sea ejecutada al cierre
Registra una función nominada por function para ser ejecutada cuando el procesamiento del script esté completo o cuando se llame a exit().
Se pueden hacer múltiples llamadas a register_shutdown_function(), y cada una será llamada en el mismo orden en el que fueron registradas. Si se llama a exit() dentro de una función de cierre registrada, el procesamiento se detendrá completamente y no se llamarán a otras funciones de cierre registradas.
La función de cierre a registrar.
Las funciones de cierre son llamadas como parte de la petición por lo que es posible enviar la salida desde ellas. Actualmente no hay forma de procesar la información con funciones de buffer de salida en la función de cierre.
Las funciones de cierre son llamadas después de cerrar todos los bufferes de salida, así, por ejemplo, su salida no será comprimida si zlib.output_compression está habilitado.
Es posible pasar parámetros a la función de cierre pasando parámetros adicionales.
No se devuelve ningún valor.
Versión | Descripción |
---|---|
4.1.0 | Las funciones de cierre ahora son llamadas como parte de la petición. En versiones anterior bajo Apache, las funciones de cierre registradas eran llamadas después de que la petición hubiera sido completada (incluyendi en envío de cualquier buffer de salida), por lo que no era posible enviar una salida al navegador usando echo() o print(), o recuperar el contenido de ningún buffer de salida usando ob_get_contents(). Las cabeceras también eran enviadas siempre. |
Example #1 Ejemplo de register_shutdown_function()
<?php
function cierre()
{
// Esta es nuestra función de cierre,
// aquí podemos hacer las últimas operaciones
// antes de que el script sea completado.
echo 'Script ejecutado con éxito', PHP_EOL;
}
register_shutdown_function('cierre');
?>
Note:
Normalmente las funciones no definidas causan errores fatales en PHP, pero cuando la función llamada dada por function con register_shutdown_function() no está definida, en su lugar se genera un error de nivel E_WARNING. También, por razones internas de PHP, este error se referirá como Desconcocido en la línea #0.
Note:
El directorio de trabajo del script se puede cambiar dentro de la función de cierre bajo algunos servidores web, p.ej. Apache.