(PHP 4, PHP 5, PHP 7, PHP 8)
headers_sent — Indica si los encabezados HTTP ya han sido enviados
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.
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 archivoserá definido como una cadena vacía.
lineEl número de línea donde ocurrió la salida.
headers_sent() devuelve false si ningún encabezado
ha sido enviado, o true en caso contrario.
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;
}
?>Nota:
Los encabezados solo serán accesibles y se mostrarán cuando se utilice un SAPI que los soporte.