Olhando no manual da função fgetcsv() você encontra isto:
$handle = fopen ("teste.csv","r");
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count ($data);
echo "<p> $num campos na linha $row: <br /></p>\n";
$row++;
for ($c=0; $c < $num; $c++) {
echo $data[$c] . "<br />\n";
}
}
fclose ($handle);
Ele não vai termina a iteração enquanto não pegar todos os dados do arquivo.
Espero que lhe ajude o exemplo, em caso de problemas, poste mais detalhes de seu código.
meu codigo esta assim:
$arquivo = $_FILES["arquivo"];$abraArq = fopen($arquivo["tmp_name"], "r");if (!$abraArq){ //verificando se existe algum arquivo selecionadoecho ("<p>Arquivo não encontrado</p>");}while ($valores = fgetcsv ($abraArq, 2048, ";")) { if($_POST["radio"] == 2){ // na minha página tem um radiobuton que me diz que o arquivo pra qual tabela... $verifyquery = mysql_query("SELECT numeronf FROM oct", $conn); while ($get = $verifyquery){ if($valores[2] == $get["numeronf"]){ //verifica se no arquivo ja tem alguma informação que ja esteja na tabela $verify = 5; } } if($verify == 5){ //se tiver alguma informação que ja tenha na tabela, ele da um update $sql = "UPDATE intranet.oct SET chassi = ".$valores[0].", modelo = ".$valores[1].", numeronf = ".$valores[2].", datanf = ".$valores[3].", vencimento = ".$valores[4].", valornf = ".$valores[5].", tipo = ".$valores[6].", revenda = ".$valores[7].", impresso = ".$valores[8]." WHERE numeronf = ".$valores[2].";"; }else{ $sql = "INSERT INTO oct (chassi, modelo, numeronf, datanf, vencimento, valornf, tipo, revenda, impresso) values ('".$valores[0]."', '".$valores[1]."', '".$valores[2]."', '".$valores[3]."', '".$valores[4]."', '".$valores[5]."', '".$valores[6]."', '".$valores[7]."', '".$valores[8]."');"; } }else{//aqui ja é outro tipo de arquivo que se pode atualizar em outra tabela... $sql = "INSERT INTO compoct (c_chassi, c_numeronf, c_valornf, c_vencimento, c_pgto, c_tipo, c_revenda) values ('".$valores[0]."', '".$valores[1]."', '".$valores[2]."', '".$valores[3]."', '".$valores[4]."', '".$valores[5]."', '".$valores[6]."');"; } $result = mysql_query($sql, $conn) or die (mysql_error()); }fclose($abraArq);