Boa Tarde,
Você vai ter que fazer algo tipo isso numa aplicação tipo Blank:
if($handle = opendir($dir))
{
while($file = readdir($handle)){
clearstatcache();
if(is_file($dir.'/'.$file)){
echo $file."<br>";
$abre = fopen($dir.'/'.$file, "r");
$somapass1 = 0;
$somapass2 = 0;
$totalbuc1 = 0;
$totalbuc2 = 0;
$totalbum1 = 0;
$totalbum2 = 0;
while (!feof ($abre)) { //LÊ UMA LINHA DO ARQUIVO
$arq = fgets($abre, 4096);
$arq = str_replace(PHP_EOL, '', $arq);
$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);
// VERIFICA O TIPO DO REGISTRO 001
if ($arq_tipo == "001") {
$data_j = strtotime('2002-12-31');
$arq_tam = strlen($arq);
$arq_tipo = substr($arq,0,3); // Tipo Arquivo
$arq_ver = substr($arq,3,3); // Versão Arquivo
$arq_emp = substr($arq,6,3); // Empresa de Onibus
$arq_car = substr($arq,9,10); // Numero Onibus
$arq_est = substr($arq,19,3); // Estado do Serviço
$arq_dataj = substr($arq,22,5); // Data Juliana
$arq_hora = substr($arq,27,5); // Hora
$arq_emm = substr($arq,32,3); // Empresa Motorista
$arq_mpd = substr($arq,35,10); // Motorista Prodata
$arq_mep = substr($arq,45,10); // Motorista Empresa
$arq_emc = substr($arq,55,3); // Empresa Cobrador
$arq_cpd = substr($arq,58,10); // Cobrador Prodata
$arq_cep = substr($arq,68,10); // Cobrador Empresa
$arq_lin = substr($arq,78,5); // Linha Detalhe
$arq_lip = substr($arq,83,5); // Linha Principal
$arq_sec = substr($arq,88,3); // Seção Linha
$arq_sen = substr($arq,91,3); // Sentido
$arq_tur = substr($arq,94,1); // Turno
$arq_ass = substr($arq,95,4); // Assinatura do Registro
$arq_datajc = date('d/m/Y',strtotime('+'.$arq_dataj.'days',strtotime('2002-12-31')));
$arq_horac = gmdate("H:i:s",$arq_hora);
if($arq_tam < 99) {
print "Tamanho do arquivo inválido...<br>";
print "------------------------------<br>";
} else {
print "TIPO DO ARQUIVO 001 <br>";
print "Tamanho do arquivo: " . $arq_tam . "<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>";
print "Linha: " . $arq_lin . "<br>";
print "Linha Principal: " . $arq_lip . "<br>";
print "Carro: " . $arq_car . "<br>";
print "Motorista: " . $arq_mep ."<br>";
print "Cobrador: " . $arq_cep ."<br>";
print "Saida Garagem: " . $arq_horac . "<br>";
print "Turno: " . $arq_tur . "<br>";
print "================================================x'<br>";
}
}
// VERIFICA O TIPO DO REGISTRO 010
if ($arq_tipo == "010") {
$data_j = strtotime('2002-12-31');
$arq_tam = strlen($arq);
$arq_tipo = substr($arq,0,3); // Tipo Arquivo
$arq_ver = substr($arq,3,3); // Versão Arquivo
$arq_fco = substr($arq,6,3); // Funçao do Operador
$arq_emp = substr($arq,9,3); // Empresa Motorista
$arq_cdp = substr($arq,12,10); // C?digo prodata do operador
$arq_mop = substr($arq,22,10); // Matr?cula do operador
$arq_car = substr($arq,32,10); // Numero Onibus
$arq_dataj = substr($arq,42,5); // Data Juliana
$arq_hora = substr($arq,47,5); // Hora
$arq_cop = substr($arq,52,3); // Codigo Operacao
$arq_sts = substr($arq,55,1); // Status
$arq_ass = substr($arq,56,4); // Assinatura do Registro
$arq_datajc = date('d/m/Y',strtotime('+'.$arq_dataj.'days',strtotime('2002-12-31')));
$arq_horac = gmdate("H:i:s",$arq_hora);
if($arq_tam < 60) {
print "Tamanho do arquivo inválido...<br>";
print "------------------------------<br>";
} else {
/* print "TIPO DO ARQUIVO 010 <br>";
print "Tamanho do arquivo: " . $arq_tam . "<br>";
print "Data Vinculacao: " . $arq_datajc . "<br>";
print "Hora Vinculacao: " . $arq_horac . "<br>";
print "Carro: " . $arq_car . "<br>";
print "Motorista: " . $arq_mop ."<br>";
print "Cobrador: " . $arq_mop ."<br>";
print "Operaçao: " . $arq_cop ."<br>";
print "Satatus: " . $arq_sts ."<br>";
print "================================================x'<br>";
*/
}
}
// VERIFICA O TIPO DO REGISTRO 011
if ($arq_tipo == "011") {
$data_j = strtotime('2002-12-31');
$arq_tam = strlen($arq);
$arq_tipo = substr($arq,0,3); // Tipo Arquivo
$arq_ver = substr($arq,3,3); // Versão Arquivo
$arq_emp = substr($arq,6,3); // Empresa Motorista
$arq_cdp = substr($arq,9,10); // C?digo prodata do operador
$arq_mop = substr($arq,19,10); // Matr?cula do operador
$arq_dataj = substr($arq,29,5); // Data Juliana
$arq_hora = substr($arq,34,5); // Hora
$arq_emi = substr($arq,39,3); // Emissor do Cartao
$arq_des = substr($arq,42,2); // Desenho do Cartao
$arq_num = substr($arq,44,8); // Numero de Serie
$arq_dig = substr($arq,52,1); // Digito Verificardor
$arq_cct = substr($arq,53,20); // Chip do Cartão
$arq_car = substr($arq,73,10); // Numero Onibus
$arq_emm = substr($arq,83,3); // Empresa Motorista
$arq_mpd = substr($arq,86,10); // Motorista Prodata
$arq_mep = substr($arq,96,10); // Motorista Empresa
$arq_emc = substr($arq,106,3); // Empresa Cobrador
$arq_cpd = substr($arq,109,10); // Cobrador Prodata
$arq_cep = substr($arq,119,10); // Cobrador Empresa
$arq_ass = substr($arq,129,4); // Assinatura do Registro
$arq_datajc = date('d/m/Y',strtotime('+'.$arq_dataj.'days',strtotime('2002-12-31')));
$arq_horac = gmdate("H:i:s",$arq_hora);
if($arq_tam < 133) {
print "Tamanho do arquivo inválido...<br>";
print "------------------------------<br>";
} else {
print "TIPO DO ARQUIVO 010 <br>";
print "Tamanho do arquivo: " . $arq_tam . "<br>";
print "Data Vinculacao: " . $arq_datajc . "<br>";
print "Hora Vinculacao: " . $arq_horac . "<br>";
print "Carro: " . $arq_car . "<br>";
print "Motorista: " . $arq_mep ."<br>";
print "Cobrador: " . $arq_cep ."<br>";
print "Cartao: " . $arq_emi .".".$arq_des.".".$arq_num."-".$arq_dig."<br>";
print "================================================x'<br>";
}
}
// VERIFICA O TIPO DO REGISTRO 002
if ($arq_tipo == "002"){
// VERIFICA O TIPO DO REGISTRO 002 - VERSÃO 005
if ($arq_ver == "005"){
$data_j = strtotime('2002-12-31');
$arq_tam = strlen($arq);
$arq_tipo = substr($arq,0,3); // Tipo Arquivo
$arq_ver = substr($arq,3,3); // Versão Arquivo
$arq_dataj = substr($arq,6,5); // Data Juliana
$arq_hora = substr($arq,11,5); // Hora
$arq_emi = substr($arq,16,3); // Emissor do Cartao
$arq_des = substr($arq,19,2); // Desenho do Cartao
$arq_num = substr($arq,21,8); // Numero de Serie
$arq_dig = substr($arq,29,1); // Digito Verificardor
$arq_cct = substr($arq,30,20); // Chip do Cartão
$arq_apl = substr($arq,50,4); // Numero da Aplicacao
$arq_aem = substr($arq,54,3); // Emissor Aplicação
$arq_tsn = substr($arq,57,5); // Numero Transacao
$arq_vlr = substr($arq,62,6); // Valor debitado
$arq_sce = substr($arq,68,8); // Secao Entrada
$arq_scs = substr($arq,76,8); // Secao Saida
$arq_sts = substr($arq,84,1); // Status
$arq_car = substr($arq,85,10); // Numero Onibus
$arq_emm = substr($arq,95,3); // Empresa Motorista
$arq_mpd = substr($arq,98,10); // Motorista Prodata
$arq_mep = substr($arq,108,10); // Motorista Empresa
$arq_emc = substr($arq,118,3); // Empresa Cobrador
$arq_cpd = substr($arq,121,10); // Cobrador Prodata
$arq_cep = substr($arq,131,10); // Cobrador Empresa
$arq_tpe = substr($arq,141,1); // Tipo Embarque
$arq_tpd = substr($arq,142,1); // Tipo Debito
$arq_msd = substr($arq,143,3); // Mensagem Debito
$arq_ass = substr($arq,146,4); // Tipo Embarque
$arq_datajc = date('d/m/Y',strtotime('+'.$arq_dataj.'days',strtotime('2002-12-31')));
$arq_horac = gmdate("H:i:s",$arq_hora);
if ($arq_tam < 150) {
print "Tamanho do arquivo inválido...<br>";
print "------------------------------<br>";
// exit();
} else {
print "TIPO DO ARQUIVO 002 - VERSÃO 005<br>";
print "Tamanho do arquivo: " . $arq_tam . "<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>";
print "Cartao: " . $arq_emi .".".$arq_des.".".$arq_num."-".$arq_dig."<br>";
print "Tipo Débito: " . $arq_tpd . "<br>";
print "================================================x'<br>";
if ($arq_tpd == 3) {
if ($arq_hora >= 14400 && $arq_hora <= 50400) {
$totalbum1++;
} else {
$totalbum2++;
}
}
if ($arq_tpd == 4) {
if ($arq_hora >= 14400 && $arq_hora <= 50400) {
$totalbuc1++;
} else {
$totalbuc2++;
}
}
}
}
}
// VERIFICA O TIPO DO REGISTRO 003
if ($arq_tipo == "003") {
$data_j = strtotime('2002-12-31');
$arq_tam = strlen($arq);
$arq_tipo = substr($arq,0,3); // Tipo Arquivo
$arq_ver = substr($arq,3,3); // Tipo Versao
$arq_apl = substr($arq,6,4); // Aplicacao
$arq_emi = substr($arq,10,3); // Emissor Aplicacao
$arq_rol = substr($arq,13,5); // Quantidade de Roletadas
$arq_vlr = substr($arq,18,7); // Valor
$arq_car = substr($arq,25,10); // Numero Onibus
$arq_mep = substr($arq,35,3); // Empresa Motorista
$arq_mpd = substr($arq,38,10); // Motorista Prodata
$arq_mem = substr($arq,48,10); // Motorista Empresa
$arq_cep = substr($arq,58,3); // Empresa Cobrador
$arq_cpd = substr($arq,61,10); // Cobrador Prodata
$arq_cem = substr($arq,71,10); // Cobrador Empresa
$arq_dataj = substr($arq,81,5); // Data
$arq_hora = substr($arq,86,5); // Hora
$arq_datajc = date('d/m/Y',strtotime('+'.$arq_dataj.'days',strtotime('2002-12-31')));
$arq_horac = gmdate("H:i:s",$arq_hora);
$arq_ass = substr($arq,91,4); // Assinatura
if($arq_tam < 95) {
print "Tamanho do arquivo inválido...<br>";
print "------------------------------<br>";
}
$data = mysql_query("Select Descricao from aplicacoes WHERE Codigo = '$arq_apl' AND TipoAplicacao = $arq_emi");
$row = mysql_fetch_assoc($data);
if ($arq_hora >= 14400 && $arq_hora <= 50400) {
$somapass1 += $arq_rol;
print "TIPO DO ARQUIVO 003<br>";
print "TURNO 1<br>";
print "Num. Onibus: " . $arq_car . "<br>";
print "Aplicaç?o: " . $arq_apl ." - " .$row['Descricao'] . "<br>";
/*print "Emissor: " . $arq_emi . "<br>";
print "Quantidade: " . $arq_rol . "<br>";
print "valor: " . $arq_vlr . "<br>";
print "Data Juliana convertida : " . $arq_datajc . "<br>";
print "Hora do arquivo: " . $arq_hora . "<br>";
print "Hora Convertida: " . $arq_horac . "<br>";
*/
print "================================================x'<br>";
print "Total Passageiros: " . $somapass1 . "<br>";
}
else
{
$somapass2 += $arq_rol;
print "TIPO DO ARQUIVO 003<br>";
print "TURNO 2<br>";
print "Num. Onibus: " . $arq_car . "<br>";
print "Aplicaç?o: " . $arq_apl . "<br>";
/*print "Emissor: " . $arq_emi . "<br>";
print "Quantidade: " . $arq_rol . "<br>";
print "valor: " . $arq_vlr . "<br>";
print "Data Juliana convertida : " . $arq_datajc . "<br>";
print "Hora do arquivo: " . $arq_hora . "<br>";
print "Hora Convertida: " . $arq_horac . "<br>";
*/
print "================================================x'<br>";
print "Total Passageiros: " . $somapass2 . "<br>";
}
}
}
}
fclose ($abre);
//unlink($dir.'/'.$file);
print "TOTAL PASS TURNO 1: " . $somapass1 . "<br>";
print "TOTAL PASS TURNO 2: " . $somapass2 . "<br>";
print "TURNO 1<br>";
print "Total de BU Municipal: " . $totalbum1 . "<br>";
print "TURNO 2<br>";
print "Total de BU Municipal: " . $totalbum2 . "<br>";
print "=========================================<br>";
print "TURNO 1<br>";
print "Total de BU Carioca: " . $totalbuc1 . "<br>";
print "TURNO 2<br>";
print "Total de BU Carioca: " . $totalbuc2 . "<br>";
}
closedir($handle);
}