Cabeçalhos HTTP - Header().pdf
-
Upload
luciano-domingues -
Category
Documents
-
view
39 -
download
9
Transcript of Cabeçalhos HTTP - Header().pdf
Júlio César Martini Júlio César Martini é DBA Oracle 9i, formado em Tecnólogo em Informática e trabalha com PHP desde 2000. Foi o primeiro profissional a chegar à marca de 100 artigos publicados no iMasters e é programador PHP/Oracle da Fundação Hermínio Ometto - UNIARARAS.
Júlio César Martini é colunista semanal e tem 116 artigos publicados (veja a relação).
Sexta-feira, 16 de janeiro de 2004 Cabeçalhos HTTP - Header()
Fala galera!
Essa semana vamos falar sobre a função header() que tem por finalidade fazer o envio diretamente de cabeçalhos HTTP para o browser. Lembre-se que esse comando tem que ser utilizado antes que qualquer saída HTML seja enviada ao browser, caso contrário, vai ocasionar um erro.
Exemplo de mensagem de erro gerada:
Warning : Cannot modify header information - headers already sent by (output started at c:pagina empheader1.php:2) in c:pagina empheader1.php on line 6
Exemplos do uso da função header():
1. Redirecionamento
Faz o redireciomento para o endereço desejado.
<? Header("Location: http://www.endereco.com.br"); ?>
2. Exibindo uma imagem
Para exibir uma imagem usaremos o Header() onde informaremos ao browser que o conteúdo a ser exibido será uma imagem JPG. Para concluirmos usamos o readfile() que vai ler e exibir o conteúdo.
<? //IMAGEM A SER ABERTA $figura = "C:\pagina\imasters\86\imagem.jpg"; //CABEÇALHO INFORMANDO QUE VAI VIM UMA IMAGEM Header("Content-type: image/jpeg");
//LÊ E EXIBE O CONTEÚDO readfile($figura); ?>
Resultado:
3. Abrindo a caixa de Salvar do Browser
Quando você cria um link em seu site apontando para um documento do tipo doc, pdf, etc, o browser tenta abri-lo diretamente, e isso as vezes não é legal. Seria melhor se ele abrisse aquela famosa janela perguntando se deseja salvar ou abrir, correto? Para fazer isso vamos fazer uso da nossa função header(), veja:
<? //VERIFICA SE O FORMULÁRIO FOI ENVIADO if($_POST[salvarOK]) { //ENVIA O CABEÇALHO QUE VAI ABRIR A CAIXA DE SALVAR Header("Content-type: application/doc"); Header("Content-Disposition: attachment; filename=imasters.doc"); readfile("c:\pagina\imasters\86\imasters.doc"); }//FECHA IF else { ?> <h2>86º artigo PHP - iMasters</h2> <form name="frmSalvar" method="post"> <input type="submit" value="Download do arquivo imasters.doc"> <input type="hidden" name="salvarOK" value="1"> </form>
<?} ?>
Analisando o script:
Linha 12 a 16 - Montamos o form que vai conter o botão para Download. Linha 05 - Informamos ao browser que o tipo de arquivo esperado é um doc. Linha 06 - Usamos o cabeçalho Content-Disposition para perguntar ao usuário se ele quer salvar o arquivo. Linha 07 - Lê o conteúdo do arquivo.
Screenshot:
Clicando no botão teremos a janela:
Esses são pequenos exemplos do uso da função header().
Espero que vocês tenham gostado.
Boa semana a todos! Até mais.