ingobar: csv einlesen

Beitrag lesen

Hallo zusammen,

ich habe hier folgende Situation. Eine csv-Datei wird mittels

<form action="readcsv.php?kl_id=1" method="post" enctype="multipart/form-data" name="upload">
<input type="file" value="Importieren" name="csv_file" size="10">
<input type="submit" value="Daten einlesen"></form>

an die Datei readcsv geschickt. Dort möchte ich die Daten gerne in die Datenbank schreiben. Nachdem

$kl_id = mysql_escape_string($_GET['kl_id']);

$filename = $_FILES['csv_file']['tmp_name'];

$handle = fopen ($_FILES['csv_file']['tmp_name'], "r");
$content = fgets($handle);

print_r($content);

Soweit so gut. Ich bekomme die erste Zeile geliefert. Aber wie kann ich jetzt durch das File laufen? Mit JS wüsste ich es ja. Da würde ich mit split die Zeilen in Arrays zerlegen usw. Aber mit php - keine Ahnung. Welche Befehle brauche ich hier?

Ich habe beim googlen auch den Befehl load data... gefunden und habe folgendes versucht:

$kl_id = mysql_escape_string($_GET['kl_id']);

$filename = $_FILES['csv_file']['tmp_name'];

@mysql_query("LOAD DATA INFILE $filename INTO TABLE schuler FIELDS TERMINATED BY ';' (name, vname, gebdatum, gender) set (id = $kl_id)");

Leider ohne Effekt. Keine Fehlermeldung, keine Eintragung.

Kann mir mal jemand mit einem Tipp/Befehl weiterhelfen. Am Einfachsten wäre wohl der zweite Fall, oder?