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…