I file csv (Comma Separated Values) sono semplici file di testo e servono per la rappresentazione “portatile” di un database. Ogni riga è un record e i campi del record sono separati da delimitatori
(commas), in genere punti e virgola.
interessante...ma...
sono virgole nn punti e virgole
guarda che gli array vanno scritti...
$array['nome'] o $array["nome"] non $array[nome]
e poi ci sono una serie di cose (come nella prima tecnica) fatte male ^^ ad es da come lo descrivi tu è possibile importare solo un numero di campi fissi...altrimenti è necessario modificare il codice...ma nn è vero 
inoltre nn è necessario spostare il file uploadato se poi deve essere eliminato xche inutile
il codice di upload diventa
codice:
if(!is_uploaded_file($_FILES['filenomi']['tmp_name'])) die("Errore nell'upload del file.");
mentre quello per inserire...
codice:
$contenuto = file($_FILES['filenomi']['tmp_name']);
foreach($contenuto as $key => $value) {
$elementi = explode(',', $value);
$numelem = count($elementi);
$i=0;
while($i++ < $numelem) {
$elementi[$i] = '\'' . mysql_escape_string($elementi[$i]) . '\'';
}
$query = 'INSERT INTO table VALUES(' . implode(',', $elementi) . ');';
$ris = mysql_query($query) or die("Errore durante l'inserimento della linea " . ++$key . "
\r\n" . mysql_error());
}
+/- il codice è questo xo nn l'ho provato ^^