Jump to content


Photo

Processar Aqruivo Muito Grande


  • Faça o login para participar
1 reply to this topic

#1 jampa_boy

jampa_boy

    Ativo

  • Usuários
  • 314 posts
  • Sexo:Masculino
  • Localidade:João Pessoa - PB

Posted 31/08/2007, 17:50

Olá pessoal,

estou trablhando em um sistema quem importa dados de um arquivo de texto.

Funciona da seguinte forma:

tem o arquivo regs.txt que é +- assim:
01-AAffE22150000000000112-98541-855524-ddd4777
02-AAffE22150000000000112-98541-855524-ddd4778
03-AAffE22150000000000112-98541-855524-ddd4779
04-AAffE22150000000000112-98541-855524-ddd4770
05-AAffE22150000000000112-98541-855524-ddd4771

Então tenho uma rotina que lê este arquivo por linha divide as informções com um 'explode' e grava no banco de dados.

O problema é que este arquivo é muito grande (cerca de 150 mil linhas) e antes de chegar ao final do processamento ele para.

O máximo que consegui foi até a linha 120 mil. Ai quando chega lá ele da como página concluida, sendo que ainda faltam muitas linhas para serem processadas.

Se eu colocar somente para ler o arquivo e exibir na tela ele chega até o fim, mas se eu colocar pra ler e gravar no banco não vai até o fim.

Alguém tem alguma sugestão?

Obrigado.

* estou usando a função file() para ler o arquivo.

Edição feita por: jampa_boy, 31/08/2007, 17:51.

www.envolveweb.com.br

#2 Alexx Ares

Alexx Ares

    Doutor

  • Usuários
  • 921 posts
  • Sexo:Masculino
  • Localidade:Santos - SP

Posted 01/09/2007, 09:59

Sugiro que você crie uma cópia temporaria do arquivo, e faça o php apagar cada linha que já foi lida e gravada diminuindo o arquivo e repetindo o script até o arquivo ficar vazio. Ou use o set_time_limit() para aumentar o tempo de execução, se for possível.

:lol:(y)
||| PENSE NISSO ||| O ser humano, dizem, deve dormir 8 horas por dia. Isso equivale a 1 terço do seu dia dormindo. Agora imagine a seguinte situação: você, com 75 anos, prestes a morrer, olha para trás e percebe que dormiu 1 terço da sua vida, ou seja, 25 anos. Cara... 25 ANOS DORMINDO !!! Se você tem menos de 25 anos, simplesmente você vai dormir mais do que viveu até hoje!!! Pense nisso... e durma menos.




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq