Forçando o download de um arquivo texto com PHP

[ad#texto]
Em determinado momento algum script PHP pode gerar um arquivo texto e fornecer um link para o usuário do sistema, nada mais normal e trivial de ser realizado a não ser por um pequeno detalhe:

Ao fornecer o link, se o usuário clicar com o mouse o servidor Web irá exibir o conteúdo do arquivo no browser, afinal essa é a atitude espera do servidor Web.

Mas você como bom desenvolvedor acredita que a solução de instruir o usuário a clicar com o botão direito do mouse e depois em “salvar como” é uma solução caseira demais e que depende unica e exclusivamente do usuário o que pode acarretar erros e transtornos.

Porém existe uma solução, basta alterar o seu script PHP e no seu início utilizar o seguinte:

header('Content-type: text/plain');
header('Content-Disposition: attachment; filename="arquivo.txt"');

A instrução acima tem a finalidade de “forçar” o browser a fazer o download do arquivo texto ao invés de exibir o conteúdo no browser.

Petter Rafael

Desenvolvedor Web atua com as tecnologias Java e PHP apoiadas pelos bancos de dados Oracle e MySQL. Além dos ambientes de desenvolvimento acima possuiu amplo conhecimento em servidores Apache/Tomcat, Photoshop, Arte & Foto, Flash e mais uma dezena de ferramentas e tecnologias emergentes. Atualmente colabora com o Viablog escrevendo sobre programação e tecnologia.