<Referencia completa de PHP HTTP
Definición y Uso
La header() función envía una cabecera HTTP pura a un cliente.
Es importante notar que header() debe ser llamada antes de enviar cualquier salida real (En PHP 4 y posteriores, puede usar búferes de salida para resolver este problema):
<html>
<?php
// This results in an error.
// The output above is before the header() call
header('Location: http://www.example.com/');
?>
Sintaxis
header(string,replace,http_response_code)
Parámetro | Descripción |
---|---|
string | Necesario. Especifica la cadena de cabecera para enviar |
replace | Opcional. Indica si la cabecera debe sustituir anterior o añadir una segunda cabecera. Predeterminado es TRUE (will replace) . FALSO (allows multiple headers of the same type) |
http_response_code | Opcional. Fuerza el código de respuesta HTTP en el valor especificado (available in PHP 4.3 and higher) |
Notas y sugerencias
Note: A partir de PHP 4.4 esta función evita que más de un encabezado para ser enviados a la vez. Esta es una protección contra los ataques de inyección de cabecera.
Ejemplo 1
Prevenir la caché de páginas:
<?php
// Date in the past
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: no-cache");
header("Pragma: no-cache");
?>
<html>
<body>
...
...
Note: Hay opciones que los usuarios pueden definir para cambiar la configuración por defecto de almacenamiento en caché de tu navegador. Mediante el envío de las cabeceras más arriba, debe reemplazar cualquiera de estos ajustes y forzar el navegador para no almacenar en caché!
Ejemplo 2
Que se le pide al usuario guardar un archivo PDF generado (cabecera Content-Disposition se utiliza para suministrar un nombre de archivo recomendada y forzar el navegador para visualizar el cuadro de diálogo guardar):
<?php
header("Content-type:application/pdf");
// It will be called downloaded.pdf
header("Content-Disposition:attachment;filename='downloaded.pdf'");
// The PDF source is in original.pdf
readfile("original.pdf");
?>
<html>
<body>
...
...
Note: Hay un error en Microsoft Internet Explorer 5.5 que impide que esto trabaja. El error se puede resolver mediante la actualización a Service Pack 2 o posterior.
<Referencia completa de PHP HTTP