<Referência Completa HTTP PHP
Definição e Uso
O header() função envia um cabeçalho HTTP cru para um cliente.
É importante notar que header() deve ser chamado antes de qualquer saída real é enviado (No PHP 4 e posterior, você pode usar o buffer de saída 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/');
?>
Sintaxe
header(string,replace,http_response_code)
Parâmetro | Descrição |
---|---|
string | Requeridos. Especifica a cadeia de cabeçalho para enviar |
replace | Opcional. Indica se o cabeçalho deve substituir anterior ou adicionar um segundo cabeçalho. Padrão é TRUE (will replace) . FALSO (allows multiple headers of the same type) |
http_response_code | Opcional. Força o código de resposta HTTP para o valor especificado (available in PHP 4.3 and higher) |
Dicas e Notas
Note: Desde o PHP 4.4 esta função evita que mais de um cabeçalho para ser enviado ao mesmo tempo. Esta é uma proteção contra ataques de injeção de cabeçalho.
Exemplo 1
Impedir cache de 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>
...
...
Note: Existem opções que os usuários podem definir para alterar as configurações de cache padrão do navegador. Enviando os cabeçalhos acima, você deve substituir qualquer uma dessas configurações e forçar o navegador para não armazenar em cache!
exemplo 2
Deixe o usuário será solicitado a salvar um arquivo PDF gerado (Content-Disposition cabeçalho é usado para fornecer um nome de arquivo recomendado e forçar o navegador para exibir a caixa de diálogo salvar):
<?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: Há um bug no Microsoft IE 5.5 que impede que isso funcionando. O bug pode ser resolvido com a atualização para o Service Pack 2 ou posterior.
<Referência Completa HTTP PHP