使用 php4 加

ob_start(); 
ob_implicit_flush(0); 
function 
GetHeader(){ 
$headers getallheaders(); 
while (list(
$header$value) = each($headers)) { 
$Message .= "$header: $value<br>\n"

return 
$Message

function 
CheckCanGzip(){ 
global 
$HTTP_ACCEPT_ENCODING$PHP_SELF$Wget$REMOTE_ADDR$S_UserName
if (
connection_timeout() || connection_aborted()){ 
return 
0

if ((
strpos('catoc'.$HTTP_ACCEPT_ENCODING'gzip')) || $Wget == 'Y'){ 
if (
strpos('catoc'.$HTTP_ACCEPT_ENCODING'x-gzip')){ 
$ENCODING "x-gzip"
$Error_Msg str_replace('<br>','',GetHeader()); 
$Error_Msg .= "Time: ".date("Y-m-d H:i:s\")."n"; 
$Error_Msg .= "
Remote-Address".$REMOTE_ADDR."n"; 
//mail('[email protected]', "
User have x-gzip output in file $PHP_SELF!!!", $Error_Msg); 
}else{ 
$ENCODING = "
gzip"; 
} 
return $ENCODING; 
}else{ 
return 0; 
} 
} 
function GzDocOut()
{ 
global $PHP_SELF, $CatocGz, $REMOTE_ADDR, $S_UserName; 
$ENCODING = CheckCanGzip(); 
if ($ENCODING)
{ 
print "
n<!-- Use compress $ENCODING -->n"; 
$Contents = ob_get_contents(); 
ob_end_clean(); 
if ($CatocGz == 'Y')
{ 
print "
Not compress lenth".strlen($Contents)."<BR>"; 
print "
Compressed lenth".strlen(gzcompress($Contents))."<BR>"; 
exit; 
}else{ 
header("
Content-Encoding$ENCODING"); 
} 
print pack('cccccccc',0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00); 
$Size = strlen($Contents); 
$Crc = crc32($Contents); 
$Contents = gzcompress($Contents); 
$Contents = substr($Contents, 0, strlen($Contents) - 4); 
print $Contents; 
print pack('V',$Crc); 
print pack('V',$Size); 
exit; 
}else{ 
ob_end_flush(); 
$Error_Msg = str_replace('<br>','',GetHeader()); 
$Error_Msg .= "
Time".date("Y-m-d H:i:s")."n"; 
$Error_Msg .= "
Remote-Address".$REMOTE_ADDR."n"; 
//mail('[email protected]', "
User can not use gzip output in file $PHP_SELF!!!", $Error_Msg); 
exit; 
} 
} 
?>