headers_sent
(PHP 4, PHP 5)
headers_sent — Comprueba si o donde han enviado cabeceras
Descripción
&$file
[, int &$line
]] )Comprueba si o donde han enviado cabeceras.
No se puede agregar más líneas de cabecera con la función header() una vez que el bloque de cabecera ya ha sido enviado. Con esta función se puede evitar recibir mensajes de error relacionados con cabecera HTTP. Otra opción es utilizar Output Buffering.
Parámetros
-
file -
Si los parámetros opcionales
fileylinese establecen, headers_sent() pondrá el nombre del archivo PHP y número de línea donde la producción se inició en las variablesfileyline. -
line -
El número de línea donde inició la salida.
Valores devueltos
headers_sent() retornará FALSE Si no se han
enviado encabezados HTTP o de lo contrario TRUE.
Ejemplos
Ejemplo #1 Ejemplos usando headers_sent()
<?php
// Si no se han enviado encabezados, enviar uno
if (!headers_sent()) {
header('Location: http://www.example.com/');
exit;
}
// Un ejemplo usando los parámetros opcionales file y line, a partir de PHP 4.3.0
// Tenga en cuenta que $filename y $linenum se pasan para su posterior uso.
// No asigne los valores de antemano.
if (!headers_sent($filename, $linenum)) {
header('Location: http://www.example.com/');
exit;
// Lo más probable es generar un error aquí.
} else {
echo "Headers already sent in $filename on line $linenum\n" .
"Cannot redirect, for now please click this <a " .
"href=\"http://www.example.com\">link</a> instead\n";
exit;
}
?>
Notas
Nota:
Las cabeceras sólo serán accesibles y mostradas si se utiliza un SAPI que lo soporte.
Ver también
- ob_start() - Activa el almacenamiento en búfer de la salida
- trigger_error() - Generar un mensaje de error/advertencia/aviso de nivel de usuario
- headers_list() - Devuelve una lista de encabezados de respuesta enviados (o listos para enviar)
- header() - Enviar encabezado sin formato HTTP para una discusión más detallada de los asuntos planteados.