Pit: Große Datei einlesen will nicht (php)

Beitrag lesen

Hi dedlfix,

Das bezieht sich auf den erlaubten Arbeitsspeicher gemäß der Konfiguration memory_limit. Die Datei selbst ist nicht so groß, aber PHP hält keine 1:1-Kopie davon im Speicher, sondern die Funktion file() erzeugt ein Array mit je einer Zeile als String daraus. Das belegt dann durchaus mehr Speicher.

Ok, verstehe. Hintergrund ist der, dass in der Datei Tabellendaten stehen, die ich in eine DB einlesen möchte. Die Datei ist zwar eine .xls Datei, aber das scheint nur die Endung zu sein. In die Datei mal hineingeschaut sieht man sehr schnell, dass es sich um eine html-Tabelle handelt, die jeden Datensatz als Tabellenzeile mitsamt 10 oder 11 Tabellenspalten beinhaltet.

Als reine Exceltabelle würde die Datei vielleicht nichtmal 1MB haben, aber in eine html-Tabelle verpackt, ergibt das knapp 24MB 😟

Dann muß ich da wohl mit fopen/fgets ran.

Bleibt trotzdem die Frage, ob ich im weiteren verlauf die Datei mit php verarbeitet bekommen.

Pit