Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Angellis

Criar arquivo txt de uma consulta ao BD e fazer download do mesmo

Recommended Posts

Saudações,Preciso exportar os dados de contatos, para tal preciso fazer uma consulta ao bando de dados e montar um CVS para download.Fazer a consulta e montar o CVS sem problemas. A questão é:Como devo proceder para ele conseguir fazer o download?Eu tenho que criar um arquivo no servidor? Alguém tem expêriencia com algo do gênero?Grato,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta ai, ele gera um txt, talvez te ajude:

$fsep = ";"; // pode ser qualquer separador de campo que quiser$bd = @mysql_connect( "localhost", "user", "pass" )or die(mysql_error());@mysql_select_db( "nome_db", $conexao )or die(mysql_error());$consulta = "select * from nome_tabela";$resultado = mysql_query( $consulta, $bd);$sai = fopen("arquivo_texto.txt","a+");while ($linha = mysql_fetch_row($resultado)) {$result = fputs($sai,implode($fsep,$linha));echo $conteudo; // se quiser que o conteudo sai na tela tambem.}fclose($sai)
Obs: script retirado do link: http://www.phpbrasil.com/faqs/faq.php/id/95

 

Dai você coloca o seguinte código pra fazer o download você coloca:

$arquivo = "arquivo.txt";$tamanho = filesize($arquivo);header("Content-type: Application/unknown");header("Content-length: $tamanho");header("Content-Disposition: attachment; filename=$arquivo");header("Content-Description: PHP Generated Data");readfile($arquivo);

Bom ve se te ajuda...

Até mais..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Achei o problema faltava uma virgula.Só que agora estou com outro. No Firefox ele baixa um arquivo .php vazio e no IE recebo uma msg de erro.O que pode estar errado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ajustei a consulta as informações que eu preciso, mas na hora de baixar o arquivo, estou recebendo essa msg de erro:Parse error: parse error, unexpected T_VARIABLE in /var/www/contatos/exportar_cvs.php on line 24O que pode ser?

Tem como você postar o código?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rafael eu achei o problema, faltava uma simples vírgula.O problema é que agora no Firefox quando executo a página, aparece a opção de baixar exportar_cvs.php e no IE eu recebo uma smg de erro dizendo: "O Internet Explorer não pode fazer o download de <nome_da_pagina> de <nome_da_maquina>O Internet Explorer não pode abrir esse site da Internet. O site solicitado não está disponível ou não pode ser ecnontrado. Tente novamente mais tarde.Alguma coisa no header está errado?Porque o arquivo.txt existe no servidor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rafael, acho que era eu que estava fazendo cagada mesmo. Agora está ok.Muito obrigado pela ajuda.Só mais uma perguntinha, quando eu gerar um outro arquivo txt, ele irá sobrescrever o antigo?Porque a minha consulta será a toda hora diferente. Grato,

Compartilhar este post


Link para o post
Compartilhar em outros sites

O código estava funcionando perfeitamente aqui no servidor local.

 

Quando coloquei no servidor remoto, comecei a receber a seguinte msg de erro:

 

Warning: fopen(arquivo.csv): failed to open stream: Permission denied in /home/dant/public_html/contatos/exportar_csv.php on line 37Warning: fputs(): supplied argument is not a valid stream resource in /home/dant/public_html/contatos/exportar_csv.php on line 40Warning: fclose(): supplied argument is not a valid stream resource in /home/dant/public_html/contatos/exportar_csv.php on line 42

Parece ser alguma coisa relacionada a permissão para criar o arquivo. Como procedo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.