headers_sent

(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.

Hosting by: hurra.com
Generated: 2007-01-26 18:00:42