per questo: c'è un problema nell'impostazione del codice... la riga $chk_ext = explode(";",$fname); dovrebbe essere probabilmente $chk_ext = explode(".",$fname); e if(strtolower($chk_ext[0]) == "csv") diventa if(strtolower($chk_ext[1]) == "csv") (nota il punto al posto del punto-e-virgola e il numero 1 al posto dello zero)... tutto questo è probabilmente inutile, magari a causa della trasposizione dal codice originale che aveva altri scopi... non so... cmq prova così