Ich brauche für ein php-Programm eine gepackte Version von sehr großen (auch über 1 GB) Dateien, die leer sind, d.h. nur aus Leerzeichen bestehen. In meinem Programm habe ich zur Zeit
gzcompress(str_pad("",$intLen));
stehen, was bei Dateien bis 200 MB zwar lange dauert aber noch funktioniert. Bei größeren Dateien tötet mir dieser Befehl jedoch das ganze System und es kommt nichts mehr dabei heraus. Ich habe versucht, die Ausgabe der gzcompress für leere Daten zu interpretieren, da ich mir dachte, derart einfache Dateien seien auch gepackt einfach lesbar, was aber nicht der Fall war.
Wo finde ich/wie programmiere ich eine Funktion die mir leere Strings performant in gzip-Format umwandelt?
Das Format ist zwar in RFCs beschrieben (mit allem drum und dran drei Stück, sollten sicher irgendwo unter http://www.gzip.org zu finden sein), aber bei den Datenmassen wird Dir eine in PHP geschriebene gzip-Funktion nicht viel Freude bereiten; dazu ist PHP zu langsam (Interpretersprache) und wahrscheinlich auch viel zu einfach aufgebaut (verfügbare bzw. verlässliche Datentypen).
Du solltest vielleicht besser versuchen, Deine Daten in einer Datei zu speichern und die dann via exec() vom gzip-Programm verwursten zu lassen.
Gruß,
soenk.e