Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia galera,
como fazer a geração de um arquivo txt, puxando os dados do banco de dados
irei fazer um while para puxar todas as linhas da tabela, só que o único problema, como gerar esse arquivo txt.
no href para fazer o download, irei fazer um get por id, e no arquivo txt terá as informações da coluna descricao.
poderiam me ajudar?
Fiz assim, mas não sei se deu certo, não consegui testar
<?php
include "conexao/conexao.php";
$query = mysql_query("SELECT * from extrator order by id desc");
while ( $fetch=mysql_fetch_array($query)){
$id=$fetch['id'];
fopen("email.txt?id=$id", "w+");
$log="$fetch[descricao] \n";
if (!$savelog = fopen('email.txt?id=$id', "a"))
{ exit; }
if (!fwrite($savelog, $log))
{ exit; fclose($savelog); }
}
?>
<tr>
<td><?php echo $id."_".$fetch['data'] ; ?></td>
<td ><?php echo "<a href='email.txt?id=".$id."' alt='_blank' >download</a>"; ?></td>
</tr>
<?php } ?>Vai depender um pouco da sua necessidade, você precisa que o sistema faça somente o download ou precisa também que o arquivo fique salvo no servidor?
Se for somente o download, o seu link deve ser para uma pagina php que tenha um cabeçalho forçando o download igual o link que te passei.
<?php echo "<a href='teste.php?id=".$id."' target='_blank' >download</a>"; ?>
Na página php você seta o cabeçalho e dá um echo no conteúdo.
Obs: Para abrir um link em outra página você usa o atributo target.
Resolução:
<?php
session_start();
$id = $_SESSION['id'];
$mysqli = mysqli_connect("localhost","root","*************","bancod") or die("Error " . mysqli_error($link));
$query = "SELECT * from extrator where id = '$id' order by id desc";
$result = $mysqli->query($query);
$arquivo = fopen("meuarquivo".$id.".txt", "a");
while ($row = $result->fetch_array(MYSQLI_ASSOC)) {
$descricao = $row['descricao'];
// abre o arquivo colocando o ponteiro de escrita no final
if ($arquivo) {
if (!fwrite($arquivo, $descricao)) die('Não foi possível atualizar o arquivo.');
echo 'Arquivo atualizado com sucesso';
}
}
fclose($arquivo);
echo "<a href='meuarquivo".$id.".txt'>Download</a>";
?>
No fórum tem uma dúvida igual, vê se ajuda, qualquer dúvida só falar!
http://forum.imasters.com.br/topic/504031-fazer-download-de-arquivos-txt-gerados-pelo-php/