Ir para conteúdo
Fórum Script Brasil
  • 0

carrega umaparte do db e salva em txt


Jasar

Pergunta

galera precisar faze ro seguinte , meu clientetem um sistema que ta em php + mysql e preciso gerar backup diario disto em txt para ele

so que tem um porem

o php vai rodar no cron uma vez por dia

e tem q ler o banco de dados todo q vai ter uns 2 milhoes de registros.

e exportar 100mil registros por txt e cada txt terá que ter nome de 1 ate aterminar.

como fazer isso?

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

:ninja: Deus! Se você fizer isso, eu tiro o chapéu!

Como eu digo: que mão! :o

Link para o comentário
Compartilhar em outros sites

  • 0

O algorítmo do negócio é mais ou menos simples.

$i = $j = 1;
$str = '';
$sql = "SELECT * FROM tabela";
$query = mysql_query($sql);
$total = mysql_num_rows($query);
while($row = mysql_fetch_array($query)) {
    $str .= "INSERT INTO tabela VALUES ('".$row[0]."', '".$row[1]."', '".$row[2]."', '".$row[3]."');\n";
    $j++;
    if($j % 100000 === 0 || $j == $total)) {
        $arquivo = fopen('arquivo'.$i.'.txt', 'a');
        fwrite($arquivo, $str, strlen($str));
        fclose($arquivo);
        $i++;
        $str = '';
    }
}

Bom.. Eu não testei e, claro, devem ser feitas as adaptações necessárias, como os campos e o nome da tabela.. Mas a idéia é mais ou menos esta..

O lance do INSERT INTO no texto é justamente pra funcionar como um backup pra incluir esses valores.. O nome do arquivo ou o diretório em que ele vai ficar também podem ser dinamicos e incluirem a data e tal..

Enfim, como disse, apenas a idéia de quebrar de 100.000 em 100.000..

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...