Große CSV Dateien schrittweise auslesen?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
aufruf
auslese
begrenzung
dank
datei
datenmenge
ende
ermitteln
file
laufzeit
lese
liste
passendes beispiel
position
punkt
schrittweise auslesen
session
setzen
zeiger
zeile
-
Hallo
ich habe eine CSV-Datei, die merhrere MB groß ist und über 5000 Zeilen besitzt.
Diese kann ich nicht auf einmal auslesen,
weil a) es eine Datenmengen-Begrenzung gibt oder
weil b) die Script-Laufzeit nicht ausreicht.
wie kann ich eine so große Liste (Dateí) schrittweise auslesen?
z.B.so .... lese Zeile 1 is Zeile 500 ... dann lese Zeile 501 bis 1000 ... dann 1001 bis 1500 ... usw.
bitte um Hilfe. Danke!
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
nikic schrieb:
... da liest du dann 500 Zeilen ab 501 aus, usw.
ja, genau,
nur wie mache ich das, den "Zeiger" zum Lesen direkt an die Stelle zu bringen, wo es weiter geht ... ?!?
ich kann ja nicht bei jedem Aufruf (nach redirect) wieder die ganze Datei lesen bis zum "weiter" Punkt
so würde wieder die Laufzeit nicht ausreichen ....
Danke!
-
Hm, daran habe ich gar nicht gedacht :D Arbeite nie mit Files. Aber es gibt da ne Funktion, wenn ich mich recht erinnere fseek, musst du man im Manual sehen... Ich frage mich nur, ob die überhaupt effektiv genug ist und nicht bei größeren Files auch das memory_limit erreicht.
Ich glaube es wäre einfacher das limit zu erhöhen, wenn ich mich nicht irre, dann geht das sogar mit einem ini_set. Zumindest hats bei mir einmal geklappt, ich wieß nicht obs überall klappt. -
wenns na der scriptlaufzeit liegt, kannste die über die variable "max_execution_time" regeln, kann dann aber sein, dass dein script dann evtl. sehr lange läuft...
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage