headers_sent

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.