Funciones de red
PHP Manual

headers_sent

(PHP 4, PHP 5)

headers_sentComprueba si o donde han enviado cabeceras

Descripción

bool headers_sent ([ string &$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 file y line se establecen, headers_sent() pondrá el nombre del archivo PHP y número de línea donde la producción se inició en las variables file y line.

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.

Historial de cambios

Versión Descripción
4.3.0 Añadidos los parámetros opcionales file y line.

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


Funciones de red
PHP Manual