PHP header()Funciones


PHP HTTP 参考手册Manual de referencia completo de PHP HTTP

Definición y uso

La función header() envía encabezados HTTP sin procesar al cliente.

Es importante tener en cuenta que la función header() debe llamarse antes de que se envíe cualquier salida real (en PHP 4 y versiones superiores, puede usar el búfer 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ámetros Descripción
string Requerido. Especifica la cadena de encabezado a enviar.
replace Opcional. Indica si este encabezado reemplaza al encabezado anterior o agrega un segundo encabezado. El valor predeterminado es TRUE (reemplazar). FALSE (permite múltiples encabezados del mismo tipo).
http_response_code Opcional. Fuerza el código de respuesta HTTP al valor especificado. (Disponible en PHP 4.3 y versiones posteriores)


Consejos y notas

Nota:A partir de PHP 4.4, esta función evita enviar múltiples encabezados a la vez. Esto es una medida de protección contra ataques de inyección de encabezados.


Ejemplo 1

Deshabilitar el caché de la página:

<?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>

...
...

Nota:Los usuarios podrían configurar algunas opciones para cambiar la configuración de caché predeterminada del navegador. Al enviar los encabezados anteriores, puede anular cualquiera de estas configuraciones y forzar al navegador a no almacenar en caché.


Ejemplo 2

Solicitar al usuario que guarde un archivo PDF generado (el encabezado Content-Disposition se utiliza para proporcionar un nombre de archivo recomendado y forzar al navegador a mostrar el diálogo de guardado):

<?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>

...
...

Nota:Microsoft IE 5.5 tiene un bug que impide el mecanismo anterior. Este bug se puede resolver actualizando a Service Pack 2 o una versión superior.


PHP HTTP 参考手册Manual de referencia completo de PHP HTTP Otras extensiones