tutoriais mais recente desenvolvimento web
 

PHP header() Function


<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