Ler Diretório e processar arquivos txt

(leandroauler) #1

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?

$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…