(PHP 3 >= 3.0.8, PHP 4, PHP 5)
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.