20% OFF para compra e renovação →

Autor Tópico: Ler Diretório e processar arquivos txt  (Lida 2741 vezes)

leandroauler

  • Avançado
  • ****
  • Mensagens: 436
Ler Diretório e processar arquivos txt
« Online: Fevereiro 11, 2011, 03:53:43 pm »
Galera,

Boa tarde, tenho uma pasta onde são gerados varios arquivos txt dariamente e preciso ler todos e gravar em banco...

Precisaria de abrir o diretório e ler arquivo a arquivo....

Para 1 arquivo funciona, teria que fazer um loop por arqui alguém tem alguma idéia?

Código: [Selecionar]
$dir = "UD_002_20110131";
 
// Abre o diretorio $dir
$abredir = opendir($dir);
         
// Faz o loop para a exibição de usuários
while (false !== ($arqs = readdir($abredir))) {
         
// Aqui fazemos o php tirar "." e ".." que são "bugs" do readdir()
// Também faz com que só sejam abertos arquivos de texto
if ($arqs != "." && $arqs != ".." && preg_match("/\.(txt){1}$/i", $arqs, $ext)) {
 
// Agora iremos abrir arquivo por arquivo, e exibir os dados do usuário
// Usamos o "r" pois somente queremos ler o arquivo
$abre = fopen("$dir/$arqs","r");
 
// Usamos fread agora para ler o arquivo
$arq = fread($abre,filesize("$dir/$arqs"));

$data_j = strtotime('2002-12-31');
$arq_tam = strlen($arq);
$arq_tipo = substr($arq,0,3);
$arq_ver = substr($arq,3,3);
$arq_dataj = substr($arq,6,5);
$arq_hora = substr($arq,11,5);
$arq_datajc = date('d/m/Y',strtotime('+'.$arq_dataj.'days',strtotime('2002-12-31')));
$arq_horac = gmdate("H:i:s",$arq_hora);

if ($arq_tipo == "002"){

print "Tamanho do arquivo: " . $arq_tam . "<br>";
print "Tipo do arquivo: " . $arq_tipo . "<br>";
print "Versão do arquivo: " . $arq_ver . "<br>";
print "Data do arquivo: " . $arq_dataj . "<br>";
print "Data Juliana convertida : " . $arq_datajc . "<br>";
print "Hora do arquivo: " . $arq_hora . "<br>";
print "Hora Convertida: " . $arq_horac . "<br>";

// VERIFICA O TIPO DO REGISTRO 002


if ($arq_ver == "001"){
if ($arq_tam < 129) {
print "Tamanho do arquivo inválido...<br>";
print "------------------------------<br>";

//exit();
}
} else if ($arq_ver == "002"){
if ($arq_tam < 146) {
print "Tamanho do arquivo inválido...<br>";
print "------------------------------<br>";
// exit();
}
} else if ($arq_ver == "003"){
if ($arq_tam < 166) {
print "Tamanho do arquivo inválido...<br>";
print "------------------------------<br>";
// exit();
}
} else if ($arq_ver == "004"){
if ($arq_tam < 176) {
print "Tamanho do arquivo inválido...<br>";
print "------------------------------<br>";
// exit();
}
} else if ($arq_ver == "005"){
if ($arq_tam < 150) {
print "Tamanho do arquivo inválido...<br>";
print "------------------------------<br>";
// exit();
}
} else if ($arq_ver == "006"){
if ($arq_tam < 152) {
print "Tamanho do arquivo inválido...<br>";
print "------------------------------<br>";
// exit();
}
}
}

  //IMPRIME NA TELA O RESULTADO
//  echo $arq."<br>";
}//FECHA WHILE
 
 }

// Fecha o diretorio
closedir($abredir);     


Porém não está trazendo nenhum erro e em o resultado, onde pode está o erro....