Blog do TreinaWeb!

Blog do TreinaWeb

Dicas, notícias e informações sobre cursos, programação, webstandards e desenvolvimento web.

Trabalhando com headers em PHP


Algumas vezes é necessário utilizar a função header no PHP, por isto mostraremos neste tutorial a maior parte das coisas que você pode fazer com esta função.

Para quem não sabe , a função header do PHP envia e altera informações do header http do browser.

Vamos ao tutorial:

1 – O header do http permite enviar varias informações para o browser, como um redirecionamento da pagina:

<?php
header("Location: http://www.treinaweb.com.br/blog");
?>

Neste caso o browser será redirecionado assim que começar o carregamento da pagina. É recomendado sempre utilizar urls completas, porque alguns browsers (antigos) não suportam urls relativas.

2 – Também é possível mudar o content type do documento.

<?php
header("Content-Type: text/css");
?>

Agora você pode apontar para o arquivo css.php, como se fosse um arquivo css. Com isto é possível criar dinamicamente arquivos css, sendo útil ao projetar css para funcionar em qualquer browser e resolução.

3 – É possível forçar o browser a exibir a janela de download e ter um nome recomendado para o arquivo.

<?php
header("Content-Type: image/jpeg");
header("Content-Disposition: attachment; filename=imagem.jpg");
?>

Com isto o browser mostrará a janela de download, com o nome do arquivo sendo imagem.jpg, independente do nome do arquivo php.

4 – Você também pode enviar erros específicos ao browser.

<?php
header("HTTP/1.0 404 Not Found");
?>

É importante não esquecer as diferentes mensagens de erro e o que elas significam.

5 – Finalizando, gostaríamos de sugerir, que sempre utilize o exit para ter certeza que nada depois do código será executado, a menos que o código seja utilizado para trazer uma imagem ou informações necessárias para o arquivo.

<?php
header("Location: http://www.treinaweb.com.br/blog");
exit;
?>

Se você quiser se aprofundar mais na função header, ou estes exemplos não atendem suas necessidades, sugerimos que leia documentação oficial e na integra da função, que pode ser encontrada aqui.

Até a próxima!

Tags: PHP

  • Giovanni

    Muito bom. Posso uzar para quando um cliente acessar o site ex.: “esinet.com.br” ele entrar sempre assim: “www.esinet.com.br” . contendo o “www” na frente?

  • Kennedy

    Giovanni, neste caso, acredito que você queira redirecionar o usuário, então o mais recomendável é usar Redirecionamento 301 com .htaccess ( Para Apache ).

    Quando o usuário entrar: site.com.br ele redireciona automaticamente para: http://www.site.com.br

    A regra ficaria mais ou menos assim:

    RewriteCond %{http_host} ^site.com.br [NC]
    RewriteRule ^(.*)$ http://www.site.com.br/$1 [r=301,NC]

    Ps: Procure saber mais sobre htaccess e verá como implementar isso.

  • http://numtenho NewScript

    Como redirecionar a abertura de uma página para um determinado frame (target) SEM UTILIZAR JAVA SCRIPT só php?

  • Alexandre

    Bacana seu post. Mas como faço para redirecionar para uma pasta que esta fora do public html?

  • Bruno Born Neto

    Eu consigo fazer um header para um outro navegador ?