Erro em While, loop infinito
Boa noite pessoa estou com problemas em uma estrutura de repetição. O meu codigo pega um arquivo enviado por um formulario no campo tipo file e vai fazer a leitura desse arquivo. A primeira linha é o cabeçalho , em seguida vem linhas de informações a a ultima linha é o rodapé. Preciso tratar todas essas linhas. Segue abaixo meu codigo
<?php
header('Content-Type: text/html; charset=utf-8');
$arquivo1 = $_FILES['caixa_arquivo']['name'];
$arquivo = fopen($arquivo1,"r");
while(!feof($arquivo)){
$linha = fgets($arquivo, 4096);
$cabecalho = substr($linha,0,9);
$rodape = substr($linha,0,7);
if ($cabecalho == "02RETORNO"){
echo substr($linha,0,400);
} else if ($rodape == "9201237") {
echo substr($linha,0,400);
} else{
$seu_numero = trim(utf8_encode(substr($linha,117,10)));
$id_sacado = trim(utf8_encode(substr($linha,38,6)));
$valor = trim(utf8_encode(substr($linha,153,13)));
$vencimento = trim(utf8_encode(substr($linha,147,6)));
$valor_pago = trim(utf8_encode(substr($linha,254,13)));
$juros_cobrado = trim(utf8_encode(substr($linha,267,13)));
$desconto = trim(utf8_encode(substr($linha,241,13)));
$abatimento = trim(utf8_encode(substr($linha,228,13)));
echo "Seu número: ". $seu_numero ."<br>";
echo "ID sacado: ". $id_sacado ."<br>";
echo "Valor: ". $valor ."<br>";
echo "Vencimento: ". $vencimento ."<br>";
echo "Valor pago: ". $valor_pago ."<br>";
echo "Juros cobrado: ". $juros_cobrado ."<br>";
echo "Desconto: ". $desconto ."<br>";
echo "Abatimento: ". $abatimento ."<br>";
}
echo "<hr>";
}
fclose($arquivo);
echo "<h2>Dados gravados com sucesso.</h2>";
?>
O meu código não imprime nenhum resultado na tela quando importo o arquivo. E está gerando um loop infinito. O erro é o seguinte:
fopen(CB010900.RET) [<a href='function.fopen'>function.fopen</a>]: failed to open stream: No such file or directory in C:\wamp\www\tcc\processa_retorno.php on line *9* Call Stack # Time Memory Function Location 1 0.0032 390736 {main}( ) ..\processa_retorno.php**:**0 2 0.0057 396944 [fopen](http://www.php.net/fopen) ( ) ..\processa_retorno.php**:**9
( ! ) Warning: feof() expects parameter 1 to be resource, boolean given in C:\wamp\www\tcc\processa_retorno.php on line *13* Call Stack # Time Memory Function Location 1 0.0032 390736 {main}( ) ..\processa_retorno.php**:**0 2 0.0085 397416 [feof](http://www.php.net/feof) ( ) ..\processa_retorno.php**:**13
( ! ) Warning: fgets() expects parameter 1 to be resource, boolean given in C:\wamp\www\tcc\processa_retorno.php on line *15* Call Stack # Time Memory Function Location 1 0.0032 390736 {main}( ) ..\processa_retorno.php**:**0 2 0.0086 397392 [fgets](http://www.php.net/fgets) ( ) ..\processa_retorno.php**:**15
Obrigado a quem puder me dar um toque do problema. Obrigado
Discussão (4)
Carregando comentários...