Einzelnen Beitrag anzeigen

Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#6

Re: [PHP] HTML-Code komprimieren

  Alt 24. Jun 2007, 12:46
Moin,

direkt im Skript geht das nicht, wenn ob_gzhandler aktiv ist. Du kannst allerhoechstens im verschachtelten Buffer den Content holen, die Groesse messen, dann mit den GZIP-Funktionen komprimieren, und nochmal die Groesse messen. Also so:
Code:
ob_start('ob_gzhandler');
ob_start();

// Kram

$contents = ob_get_contents();
$uncompressed_size = strlen($contents);

$gzip_crc = crc32($contents);

$contents = gzcompress($contents, 9);
$contents = substr($contents, 0, strlen($contents) - 4);

$gzip_contents = "\x1f\x8b\x08\x00\x00\x00\x00\x00{$gzip_contents}". pack('V', $gzip_crc) . pack('V', $uncompressed_size);
$compressed_size = strlen($gzip_contents);
Ich hatte mich oben uebrigens verschrieben; es heisst tatsaechlich ob_gzhandler Es wird aber trotzdem funktionieren, weil der Content einfach unkomprimiert ausgegeben wird, falls die Callback-Funktion nicht gefunden wird.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat