Cabeçalhos HTTP - Header().pdf

4
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");

Transcript of Cabeçalhos HTTP - Header().pdf

Page 1: 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");

Page 2: Cabeçalhos HTTP - Header().pdf

//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>

Page 3: Cabeçalhos HTTP - Header().pdf

<?} ?>

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:

Page 4: Cabeçalhos HTTP - Header().pdf

Esses são pequenos exemplos do uso da função header().

Espero que vocês tenham gostado.

Boa semana a todos! Até mais.