Wer schaffts die funktion noch etwas zu „optimieren“ ?
Ist natürlich nur ein fun thread, sind mir aber noch ein wenig viele zeilen und einige tolle ideen könnte man auch noch drin verwirklichen.
wenn du später den CSV Teil wirklich als Datei abspeicherst, kannst du file() beim einlesen benutzen. Das spart schonmal das explode im foreach (auch wenn um das foreach net drumkommst)
Ansonsten (Vorschlag)
[PHP]
<?php
function csv2sql(&$csv,$sql,$tabelle) {
foreach(explode("\n",$csv) as $line)
vprintf("INSERT INTO %3\$s ('%2\$s') VALUES ('%1\$s'); \n",
array_merge(
(array) join("','",array_map('mysql_real_escape_string',explode(';',$line)))),
$sql,
(array) $tabelle
)
);
}
csv2sql($csv,array('vorname','nachname','email'),'tabelle');
?>
[/PHP]
Du kannst es ja wieder in eine Zeile Quetschen (habs zum besseren lesen verteilt).
Eigentlich hat sich nichts verändert, ich finde es nur so vom Aussehen besser, weil man den Query string eher erkennt, finde ich.