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 ^^