headers_sent

(PHP 4, PHP 5, PHP 7, PHP 8)

headers_sentIndica si los encabezados HTTP ya han sido enviados

Descripción

headers_sent(string &$filename = null, int &$line = null): bool

Verifica si los encabezados HTTP ya han sido enviados.

No es posible enviar más encabezados con la función header() una vez que el bloque de encabezados ha sido cerrado. Mediante esta función, se puede al menos evitar la visualización de los errores HTTP relacionados. Otra opción consiste en utilizar el control de salida.

Parámetros

filename

Si los argumentos opcionales filename y line son proporcionados, headers_sent() va a colocar el nombre del archivo fuente y el número de línea que iniciaron la salida, en las variables filename y line.

Nota:

Si la salida comenzó antes de la ejecución del archivo fuente PHP (por ejemplo debido a un error de inicio), el argumento nombre del archivo será definido como una cadena vacía.

line

El número de línea donde ocurrió la salida.

Valores devueltos

headers_sent() devuelve false si ningún encabezado ha sido enviado, o true en caso contrario.

Ejemplos

Ejemplo #1 Ejemplo con headers_sent()

<?php

// Si ningún encabezado ha sido enviado, enviemos uno
if (!headers_sent()) {
header('Location: http://www.example.com/');
exit;
}

// Aquí hay un ejemplo de uso de los argumentos opcionales de archivo y línea.
// Tenga en cuenta que $filename y $linenum son transmitidos para su uso posterior.
// No los asigne antes de utilizarlos.
if (!headers_sent($filename, $linenum)) {
header('Location: http://www.example.com/');
exit;

// Probablemente se generará un error aquí
} else {

echo
"Los encabezados ya han sido enviados, desde el archivo $filename en la línea $linenum\n" .
"Por lo tanto, no es posible redirigirlo automáticamente, así que por favor
haga clic <a href=\"http://www.example.com\">aquí</a>.\n"
;
exit;
}

?>

Notas

Nota:

Las cabeceras sólo serán accesibles y mostradas si se utiliza un SAPI que lo soporte.

Ver también

  • ob_start() - Activa el temporizador de salida
  • trigger_error() - Desencadena un error de usuario
  • headers_list() - Devuelve la lista de los encabezados de respuesta del script actual
  • header() - Envía un encabezado HTTP bruto para más detalles sobre los aspectos.