Hallo speedy,
hier vielleicht noch ein alternativer Lösungsansatz:
system("gzip -switch archive_name file_name");
keine ahnung wir gzip genau funktioniert, aber man kann es über kommandozeile ansteuern, so kannst du dir die ganzen header und line break probleme sparen.
Gruß
Cruz