Download em arquivos TXT

Em algumas ocasiões precisamos que o resultado de uma requisição para arquivo do tipo ".txt" não abra no browser e sim, seja realizado o download diretamente.

Uma das formas de realizar este download é criar o arquivo em tempo de execução. Assim, além de chamar o download diretamente, você ainda pode controlar o conteúdo do arquivo. 

Arquivo Texto

Segue um exemplo do código que cria este arquivo em tempo de execução:

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Content-type: application/x-msdownload");
header("Content-Disposition: attachment; filename=$_GET[arquivo]");
flush();
$fp = fopen($_GET['arquivo'],"r");
$arquivo = "";
while (!feof($fp)) $texto .= fgetc($fp);
fclose($fp);
echo $arquivo;

Modo de usar:

arquivo.php?arquivo=nomedoarquivo.txt

Com este código é possível fazer download de um arquivo TXT, PHP e até mesmo JPG, definido na variável "arquivo", passada via GET na url.

Até o próximo post!

Tags desta matéria

Comentários  (2)

  • Michael
    Michael 05/11/2013 10:13

    Amigo Henrique Correa, estou com uma dúvida quanto a configuração do header para fazer o download de dados do mysql, até fiz o download usando a configuração do header que vc postou,mais quando eu coloco o arquivo txt gerado no meu aparelho de GPS, o mesmo não lê.

  • Henrique Corrêa
    Henrique Corrêa 05/11/2013 13:28

    Michael,
    Não entendo muito bem de GPS então não posso te dar uma resposta concreta sobre isso. Mas achei uma documentação que pode lhe ajudar quanto aos arquivos .txt para GPS.
    Dê uma olhada em http://pt.scribd.com/doc/56022496/10/Arquivos-no-Formato-TXT
    Até mais!

Deixe sua opnião