von einem fremdem Server möchte ich Daten aus einer csv-Datei einlesen.
Das Laden der Datei und Auslesen aller Daten funktioniert einwandfrei.
Die Datei ist >10MByte und beinhaltet über 10.000 Datensätze in 23 Feldern.
Das Beispiel ist aus http://de3.php.net/manual/de/function.fgetcsv.php
- Code: Select all
$row = 0; // Anzahl der Arrays
$handle = fopen ("test.csv","r"); // Datei zum Lesen öffnen
while ( ($data = fgetcsv ($handle, 2048, ";")) !== FALSE ) { // Daten werden aus der Datei
// in ein Array $data gelesen
if (!$data[21] == "Text" ) { // Filter
continue;
}
$num = count ($data); // Felder im Array $data
// werden gezählt
print "<p> $num fields in line $row: <br>\n<hr>";
$row++; // Anzahl der Arrays wird inkrementiert
// Array anzeigen
for ($c=0; $c < $num; $c++) { // FOR-Schleife, um Felder
print $data[$c] . "<br>\n"; // des Arrays auszugeben
}
}
fclose ($handle);
Das Problem dabei ist, dass durch die Function
- Code: Select all
if (!$data[21] == "Text" ) { continue; }
Auch diese Function brachte keine Besserung:
- Code: Select all
function avoid_bad_sign($strings) {
$strings = str_replace("\"\"", "'", $strings);
$strings = str_replace("\"", "", $strings);
$strings = str_replace("\\", "", $strings);
$strings = str_replace("\n", "",$strings);
$strings = str_replace("\r", "",$strings);
return $strings;
}
Jürgen