headers_sent
(PHP 3>= 3.0.8, PHP 4 )
headers_sent -- Chequea si se han enviado cabeceras, y
dónde
Descripción
bool
headers_sent ( [string &archivo [, int &linea]])
headers_sent() devolverá FALSE si no se
han enviado cabeceras HTTP, o TRUE de lo contrario. Si los
parámetros opcionales archivo
y linea son
definidos, headers_sent() colocará el nombre
de archivo y número de línea de las fuentes PHP en donde
inició la salida en las
variables archivo
y linea.
No puede agregar más líneas de cabeceras usando la
función header() una vez el bloque de
cabeceras ha sido enviado. Usando esta función al menos puede
prevenir la recepción de mensajes de error relacionados con
cabeceras HTTP. Otra opción es usar Búferes de Salida.
Nota:
Los parámetros opcionales archivo
y linea fueron añadidos en PHP 4.3.0.
Ejemplo 1. Ejemplos de uso de headers_sent()
<?php
// Si no se han enviado cabeceras, enviar una if (!headers_sent()) { header('Location: http://www.example.com/'); exit; } // Un ejemplo del uso de las parametros opcionales archivo y linea, a // partir de PHP 4.3.0. // Note que $nombre_archivo y $num_linea son pasados para su uso posterior. // No les asigne valores con anterioridad. if (!headers_sent($nombre_archivo, $num_linea)) { header('Location: http://www.example.com/'); exit;
// Probablemente quiera producir un error aqui. } else {
echo "Las cabeceras ya fueron enviadas en $nombre_archivo en la linea " . "$num_linea\nNo es posible redireccionar, por ahora por favor " . "pulse este <a href=\"http://www.example.com\">enlace</a> en su " . "lugar\n"; exit; }
?>
|
|
Vea también
ob_start(), trigger_error(),
y header() para una discusión
más detallada de los temas involucrados.