headerDescripciónvoid header ( string cadena [, bool reemplazar [, int cod_respuesta_http]] )La función header() es usada para enviar una cabecera HTTP pura. Consulte la especificación HTTP/1.1 para más información sobre las cabeceras HTTP.
El parámetro opcional reemplazar indica si la cabecera debe reemplazar una cabecera previa semejante, o si debe agregar una segunda cabecera del mismo tipo. Por defecto esta función procede a reemplazar, pero si pasa FALSE como el segundo argumento, puede obligar a que se envíen múltiples cabeceras del mismo tipo. Por ejemplo:
El segundo parámetro opcional, cod_respuesta_http, obliga a que el código de respuesta HTTP sea el valor especificado. (Este parámetro se encuentra disponible a partir de PHP 4.3.0.) Existen dos llamadas de cabecera que son casos especiales. El primero es una cabecera que comience con la cadena "HTTP/" (no es importante la diferencia entre mayúsculas y minúsculas), la cual será usada para elegir el código de status HTTP a enviar. Por ejemplo, si ha configurado a Apache para que use un script PHP a la hora de gestionar peticiones por archivos inexistentes (usando la directiva ErrorDocument), puede que quiera asegurarse de que su script genere el código de status apropiado.
El segundo caso especial es la cabecera "Location:". No solo envía esta cabecera de vuelta al navegador, sino que también devuelve un código de status REDIRECT (302) al navegador a menos que algún código de status 3xx haya sido enviado ya.
Con frecuencia, los scripts PHP generan contenido dinámico que no debe ser almacenado en caché por el navegador del cliente o cualquier caché de proxy entre el servidor y el navegador del cliente. Muchos proxys y clientes pueden ser obligados a deshabilitar el uso de cachés con:
Recuerde que la función header() debe ser llamada antes de que cualquier salida sea enviada, ya sea mediante etiquetas HTML normales, líneas en blanco de un archivo, o desde PHP. Es un error bastante común interpretar código extra con include(), require(), o alguna otra función de acceso de archivos, y terminar con espacios o líneas en blanco que son impresas antes de un llamado a header(). El mismo problema existe cuando se usa un archivo PHP/HTML único.
Si desea que el usuario reciba un cuadro de diálogo para almacenar los datos que usted envía, como en el caso de un archivo PDF generado al vuelo, puede usar la cabecera Content-Disposition para indicar un nombre de archivo recomendado y obligar a que el navegador despliegue un diálogo de guardado.
Vea también headers_sent(), setcookie(), y la sección sobre autenticación HTTP. |
||||||||||||||