/***************************************
**제목....... ..: PHP4 HTTP 압축으로 웹 속도 향상
** 버전.......: 1.10
** 작성자........: catoc
** 파일 이름......: gzdoc.php
** 마지막 변경일: 2000년 8월 25일
** 요구 사항...: PHP4 >= 4.0.1
** PHP는 --with-zlib[=DIR]로 구성되었습니다
** 참고 사항.....: 동적 콘텐츠 가속은
** 데이터 전송 데이터를 즉시 압축합니다
** 코드 by 선진후(catoc)
** 1998/1999년 이후 대부분의 최신 브라우저에는
** "콘텐츠 인코딩"이라고 알려진 HTTP 1.1
** 표준을 지원하는 기능이 탑재되어 있습니다.
** 기본적으로 브라우저는
** 서버에 "콘텐츠 인코딩"을 허용할 수 있음을 나타냅니다
**. 서버가 지원하는 경우
** 데이터를 압축하여 전송합니다. .
** 브라우저는 압축을 푼 다음
** 페이지를 렌더링합니다.
** 사용법........:
** 첫 번째 '' 시작 앞에 공백이 없어야 합니다. 꼬리표.
** ------------파일 시작----------
** |
** | include('gzdoc.php');
** | "출력 시작 !!"을 인쇄하십시오;
** |?>
** |
** |... 페이지 ...
** |
** |
** | gzdocout();
** |?>
** -------------파일 끝------------
***************** ************************/
ob_start();
ob_implicit_flush(0);
함수 GetHeader(){
$headers = getallheaders();
while (list($header, $value) = 각각($headers)) {
$Message .= "$header: $value
n";
}
$Message를 반환합니다.
}
함수 CheckCanGzip(){
전역 $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('
','',GetHeader());
$Error_Msg .= "시간: ".date("연말 H:i:s")."n";
$Error_Msg .= "원격 주소: ".$REMOTE_ADDR."n";
//mail('your@none.net', "사용자의 $PHP_SELF!!! 파일에 x-gzip 출력이 있습니다.", $Error_Msg);
}else{
$ENCODING = "gzip";
}
$ENCODING을 반환합니다.
}else{
0을 반환합니다.
}
}
function GzDocOut(){
전역 $PHP_SELF, $CatocGz, $REMOTE_ADDR, $S_UserName;
$ENCODING = CheckCanGzip();
if ($ENCODING){
인쇄 "nn 사용";
$Contents = ob_get_contents();
ob_end_clean();
if ($CatocGz == 'Y'){
print "길이를 압축하지 않음: ".strlen($Contents)."
";
"압축된 길이: ".strlen(gzcompress($Contents))."
";
퇴장;
}else{
header("콘텐츠 인코딩: $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);
$Contents 인쇄;
인쇄 팩('V',$Crc);
인쇄 팩('V',$Size);
퇴장;
}else{
ob_end_flush();
$Error_Msg = str_replace('
','',GetHeader());
$Error_Msg .= "시간: ".date("연말 H:i:s")."n";
$Error_Msg .= "원격 주소: ".$REMOTE_ADDR."n";
//mail('your@none.net', "사용자는 $PHP_SELF 파일에서 gzip 출력을 사용할 수 없습니다!!!", $Error_Msg);
퇴장;
}
}
?>
以上就介绍了www.wintermulberry.com 使用 php4 加速 웹 传输,包括了www.wintermulberry.com 방면에 있는 内容, 希望对PHP教程有兴趣的朋友有所帮助。