Vinzenz Mai: daten in db schreiben! aus txt datei

Beitrag lesen

Hallo Hendrik,

#-------Format der Textdatei-------
hend;hend;hend;hend;hend 1;12345;hend;hend.gif;hend;12344;1234;
sebbo;sebbo;sebbo;sebbo;sebbo 1;12345;sebbo;sebbo.gif;sebbo;12344;1234;

ok, das ist schön verarbeitbar (das Semikolon am Ende überflüssig, aber nicht schlimm).

#-------Neuer Proggi quellcode-----
$a_fileContents = file("dat/muh.txt");
$i=0;
while($i<count($a_fileContents))

Nein, nein, nein. Du hast eine wunderbare Datei, in der jede Zeile einen Datensatz repräsentiert. Du kannst Dir somit Deine Modulo-11-Geschichte sparen.

file() liest Deine Datei in ein Array. Du willst jede Zeile verarbeiten. Wunderbar, dafür gibt es foreach. Auf Deinen Schleifenzähler kannst Du ebenso verzichten.

  
$a_fileContents = file("dat/muh.txt");  
# Hier bitte überprüfen, was [link:http://www.php.net/manual/de/function.file.php@title=file()] zurückliefert:  
if ($a_fileContents === false) {  
    # irgendetwas ist schiefgegangen  
    # Nette Fehlermeldung ausgeben und Skript beenden.  
    die ("blabla");  
    # Du könntest Dir ein besseres Fehlerhandling überlegen  
}  
  
# Hier angelangt bedeutet: Datei erfolgreich eingelesen  
foreach($a_fileContents as $zeile) {  
    # bei jedem Durchlauf steht eine Zeile Deiner Ausgangsdatei  
    # als Zeichenkette in der Variablen $zeil  
  
    # Verarbeite den Inhalt  
}  

Nutze auf geeignete Weise Multi-Row-Insert.

Freundliche Grüße

Vinzenz