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