função header () do PHP
Definição e Uso
função header () para o cliente para enviar cabeçalhos HTTP crus.
É importante reconhecer que você deve chamar a função header () antes de qualquer saída real é enviado (em PHP 4 e versões posteriores, você pode usar o buffer de saída para resolver este problema):
<?php
// This results in an error.
// The output above is before the header() call
header('Location: http://www.example.com/');
?>
gramática
参数 | 描述 |
---|---|
string | 必需。规定要发送的报头字符串。 |
replace | 可选。指示该报头是否替换之前的报头,或添加第二个报头。默认是 TRUE(替换)。FALSE(允许相同类型的多个报头)。 |
http_response_code | 可选。把 HTTP 响应代码强制为指定的值。(PHP 4.3 以及更高版本可用) |
Dicas e Notas
NOTA: Partida após PHP 4.4, a função para evitar enviar vários cabeçalhos.Esta é uma proteção contra ataques de injeção de cabeça.
exemplo 1
Desativar o cache de página:
// 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: Os usuários podem definir algumas opções para alterar as configurações de cache do navegador padrão.Ao enviar os cabeçalhos acima, você pode substituir qualquer uma dessas configurações, não force o cache do navegador!
exemplo 2
Solicitar que o usuário salvar um arquivo PDF gerado (cabeçalho Content-Disposition é usado para fornecer um nome de arquivo recomendado e forçar o navegador para exibir o diálogo salvar):
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 mais 5,5 do que a existência de um mecanismo para evitar o erro.Ao atualizar para o Service Pack 2 ou versões posteriores, você pode corrigir o erro.
PHP Manual Completo HTTP Referência