Tipos de headers mais utilizados no PHP
301 Moved Permanently (redirect)
Informa ao usuário que a página acessada foi movida permanentemente. (301)
// Define cabeçalho
header(
'HTTP/1.1 301 Moved Permanently'
);
// Redireciona usuário
header(
'Location: https://www.meusite.com/pagina.html'
);
// Encerra script
die
();
302 Moved Temporarily (redirect)
Informa ao usuário que a página acessada foi movida temporariamente. (302)
// Redireciona usuário
header(
'Location: https://www.meusite.com/pagina.html'
);
// Encerra script
die
();
404 Page Not Found
Informa ao usuário que a página não foi encontrada. (404)
// Define cabeçalho
header(
'HTTP/1.1 404 Not Found'
);
503 Service not available
Informa ao usuário que a página e/ou servidor estão indisponíveis no momento, motivado por dificuldades técnicas ou outro motivo. (503)
// Define cabeçalho
header(
'HTTP/1.1 503 Service Temporarily Unavailable'
);
header(
'Status: 503 Service Temporarily Unavailable'
);
// Solicita atualização após 60 segundos
header(
'Retry-After: 60'
);
PDF output
Faz o PHP carregar um arquivo PDF e exibir no script acessado
// Define cabeçalho como tipo PDF
header(
'Content-Type: application/pdf'
);
// Carrega e imprime arquivo teste.pdf
echo
file_get_contents
(
'teste.pdf'
);
Cache
Faz o PHP forçar o browser do usuário a não armazenar dados em cache.
// Define data de expiração para 1997 (ou seja, o browser vai sempre forçar atualização)
header('Expires: Sat, 26 Jul 1997 05:00:00 GMT'
);
// Faz o browser forçar atualização da página e a não guardar nada em cache
header(
'Cache-Control: no-store, no-cache, must-revalidate'
);
header(
'Cache-Control: pre-check=0, post-check=0, max-age=0'
);
header(
'Pragma: no-cache'
);
Forçar download de arquivo pelo browser
Faz o PHP gerar a saída como um arquivo que irá ser baixado quando o script for acessado.
// Variável do arquivo
$arquivo
=
"arquivo.zip"
;
// Define como saída um arquivo anexo
header(
'Content-Disposition: attachment; filename='
. urlencode(
$arquivo
));
// Cabeçalhos que preparam o browser para abrir caixa de diálogo de download
header(
'Content-Type: application/force-download'
);
header(
'Content-Type: application/octet-stream'
);
header(
'Content-Type: application/download'
);
header(
'Content-Description: File Transfer'
);
// Conta tamanho do arquivo em bytes
header(
'Content-Length: '
.
filesize
(
$arquivo
));
// Imprime dados do arquivo
echo
file_get_contents
(
$arquivo
);