Dateien importieren

toboli

Erfahrenes Mitglied
Hallo,

ich möchte aus einer Textdatei Dateien in eine DB importieren.
Die Enträge in der Datei sind durch ; getrennt.

z.B.
Anrede;Nachname;Vorname;e-mail ;e-mail geschäftlich

Wie kann ich jetzt die einzelnen Zeilen einlesen so das als Trennzeichen ; erkannt wird.

Kleines Bsp. wäre nett, da ich nicht so den Plan von PHP habe.

Danke jetzt schon.

toboli
 
Hallo,

danke mal. Aber wirklich weiter bin ich nicht gekommen.

Mit dem Script

PHP:
$fd = fopen("datei.dat","r+");
while (!feof($fd)) {
$zeile = fgets($fd,1000);
$mail = explode (";", $zeile);
echo $mail;
} 
fclose ($fd);

erhalte ich lediglich die Ausgabe:

ARRAY
ARRAY
...

Was muss den da noch rein ?
 
Ist ja auch logisch. Wenn du ein String per Modifer, also indem Sinne das Zeichen ; zerteilen willst, müssen ja die einzelnen Strings irgendwo gespeichert werden.

Und es währe ja ziemlich unpassend das der PHP Interpreter dafür 250 Variablen virtuell erstellen müsste :-)

Was also tuen?
Dafür hat uns ZEND mit folgendender Funktion ausgestattet:
foreach

PHP:
$file=file("datei.dat");
foreach($file as $zeile)
 {
   $mail = explode (";", $zeile); 
 }
if($mail!=="")
 {
  foreach($mail as $mails)
   {
     echo $mails . "<br>";
   }
 }

Die foreach Schleife benötigt 2 Argumente um fortzufahren. Ein Array, sowie einen Tempörär zugeordneten Speicher. Die Temporären Variablen/Speicher währe in diesem Fall $zeile, sowie $mails. Wenn du diese Argumente übergeben hast durchläuft die Schleife jedes Feld deines Arrays einzeln.
Mit jeden einzelnen Feld kannst du nun etwas individuelles anstellen.

P.S: Früher musste man dieses Problem mit einer for Schleife lösen, um an die Array Felder zu gelangen.
In diesem Sinne
 
Zurück