Guten Morgen zusammen,
Ich entwickle zur Zeit eine Klasse zum Parsen von kundenspezifischen
CSV Dateien. Folgende zwei Funktionen habe ich geschrieben, um zunächst die Datei einzulesen, und im nächsten Schritt den Inhalt der einzelnen "Spalten" zu ermitteln.
Code:
private function read_csv() {
$pth = $this->filePath;
$fl = $this->filename;
$delimiter = "\\";
if($pth === "") {
$delimiter = $pth;
}
$
handle = fopen ($pth.$delimiter.$fl, "r");
while (!feof($
handle)) {
$zeile = fgetcsv($
handle, 4096, ";");
if (count($zeile) >= 2) {
$csv_array[]=$zeile;
}
}
fclose($
handle);
return $csv_array;
}
private function splitParse() {
$arr = $this->csvArray;
for($i = 1; $i <= count($arr); $i++) { //ab 1, da "Überschrift" wegfällt
$this->articleNameArray[$i] = $arr[$i][0]; //<--- Ausgabe scheint auch aus $arr[$i][1] zu kommen?
$this->pvarstrArray[$i] = $arr[$i][1];
$this->descrArray[$i] = $arr[$i][2];
}
print_r($this->articleNameArray); //Testausgabe
}
Merkwürdigerweise bekomme ich bei der Ausgabe der ersten Spalte (arr[$i][0]) teilweise auch Daten aus der zweiten Spalte.
Hat jemand vllt. eine Idee woran das liegen könnte?
[EDIT]Hat sich erledigt, Fehler gefunden. In der letzten Spalte waren noch zusätzliche ";" vorhanden, dadurch kamen Fehler beim Einlesen zustande.[/EDIT]