Antwort #21 am: 30. Januar 2011, 15:45:36
Sorry wenn ich zu technisch sprach. Manchmal vergess ich, dass dies kein Allgemeinwissen ist. Also simpel gesagt wird die Datei beim Chunk teilweise (bei h-h-h in 1MB Stücken) gelesen und ausgegeben. Die Speichernutzung demnach gering und kommt nicht an die 64MB Grenze heran.
Schaltest Du nun die sog. gzip Kompression an funktioniert es anders. Man kann ja keinen Teil zippen sondern immer nur eine komplette Datei/Ausgabe. Somit wird die Ausgabe die wir ja stückelten wieder als Ganzes zwischengespeichert und am Ende erst gezipped und an den Benutzer gesendet.
War es nun verständlicher? Wenn nicht weiß ich echt nicht mehr wie ich es noch einfacher erklären soll.
Mögliche Lösung für das Problem:
Vor der Ausgabe prüfen ob Ausgabepuffer aktiv sind. Falls ja, diese flushen und dann erst die Chunk-Ausgabe starten. Eine ZIP-Datei muss sowieso nicht nochmal gepackt werden.