Como efetuar uma leitura de arquivo txt

Bom dia amigos, tenho o SC8 e gostaria de saber como devo proceder para importar ou efetuar uma leitura de um arquivo txt que foi gerado para rodar no sped fiscal.

Segue o formato

|0150|106463980008683480|TCR DISTRIBUIÇÃO S/A|1058|10646398000868||0019301130211|3106200||R TUPIS|1795||BARRO PRETO|
|0150|117335070001702436|MELTEX AOY IND E COM DE CONFECÇOES LTDA (70)|1058|11733507000170||082702918|3201308||ROD GOV MARIO COVAS|600|GALPAO 01A 07|SERRA ANIL|
|0150|174503980001603012|GLANDER INTERNATIONAL BUNKERING DO BRASIL COMERCIO DE COMBUS|1058|17450398000160||86524686|3304557||AV. ATAULFO DE PAIVA, 341 SALA 303|341|SALA 303|LEBLOM|
|0150|0240809100012418|NEWRED DISTRIBUIDORA IMP E EXP LTDA|1058|02408091000124||081939060|3205200||AV. JOAO MENDES|772|GALPAO A|SANTA MONICA|
|0150|07215414000187724|COMERCIO DE ALIMENTOS NOVO MEXICO LTDA|1058|07215414000187||082309108|3205101||RUA ADALINO CARVALHO|0||AREINHA|
|0150|27724509000133200|CESCOM CESCONETO COMERCIAL LTDA|1058|27724509000133||080892051|3203205||ROD BR 101 KM 163|0||RIO QUARTEL|

Procure no manual do PHP funções de manipulação de arquivos e de strings

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);
}

Srs, boa tarde.

Não sei se esta certo, mas tenho um problema parecido e gostaria de saber se este caso deu certo.

Desde já agradeço a atenção.