14. Apr 2008
Große CSV Dateien mit PHP verarbeiten
Gerade hatte ich bei der Verarbeitung einer großen CSV Dateien mit Speicherproblemen zu kämpfen. Mit Hilfe der fgetcsv() Funktion ließen sich diese Probleme umgehen: Ähnlich wie ein XML SAX Parser lassen sich mitfgetcsv() CSV Dateien Zeile für Zeile, Feld für Fled elegant einlesen. Kein explode() und dergleichen erforderlich. Beispiel:
$handle = fopen($_FILES['import_file']['tmp_name'], "r");
if ($handle)
{
set_time_limit(0);
//the top line is the field names
$fields = fgetcsv($handle, 4096, ',');
//loop through one row at a time
while (($buffer = fgetcsv($handle, 4096, ',')) !== FALSE)
{
if ($buffer[0] != null & strlen(trim($buffer[0]))>0)
{
// hier Zeilen verarbeiten
}
}
}
fclose($handle);







Leave a Reply
You must be logged in to post a comment.