Hallo,
Was wohl dadurch begründet ist, dass es ein Memory-Limit für ausgeführte PHP-Skripte gibt - Wowereit!
Und gibt es eine Möglichkeit das Memory-Limit zu umgehen um die 700 MB Datei denoch irgend wie in ein zip zu verwandeln und zu splitten ohne sie runter und dann wieder raufladen zu müssen?
<radio station="eriwan">Im Prinzip ja.</radio>
Nach dem, was du bisher beschrieben hast, scheint die PHP-Klasse, die du gefunden hast, das Archiv komplett im Arbeitsspeicher zu erstellen. Nun müsste man wohl den Code komplett umstricken, so dass die Daten direkt von und zu Datei verarbeitet werden. Das ist aber wahrscheinlich eine größere Geschichte, und es dürfte fast einfacher sein, sich nach anderen fertigen Lösungen umzusehen, die das besser machen.
Oder würde es dir genügen, die Originaldatei ohne Kompression einfach in kleiner Stücke zu splitten? Das wäre natürlich trivial. In Pseudocode:
Fragment-Zähler n := 0
Öffne Quelldatei zum Lesen
Öffne Fragment #n zum Schreiben
Solange Dateiende nicht erreicht
Lies einen Block von Quelldatei
Schreibe Block in Zieldatei
Wenn Zielfragmen>Fragmentgröße
Schließe Fragment #n
Erhöhe n
Öffne Fragment #n zum Schreiben
---
---
Schließe Fragment #n
Schließe Quelldatei
Fertig!
Auf dem Zielsystem, wo die große Datei im Ganzen verarbeitet werden soll, müssen die Fragmente dann nur wieder zusammenkopiert werden.
So long,
Martin
F: Wer ist der Herrscher über Wasser, Wind und Wellen?
A: Der Friseur.