>  기사  >  백엔드 개발  >  php4를 사용하여 웹 전송 속도 향상

php4를 사용하여 웹 전송 속도 향상

WBOY
WBOY원래의
2016-08-08 09:34:14898검색

/***************************************
** 제목....: php4 HTTP 압축으로 웹 속도 향상
** 버전.......: 1.10
** 작성자........: catoc
** 파일명......: gzdoc.php
** 마지막 변경일: 2000년 8월 25일
** 요구사항...: PHP4 >= 4.0.1
** PHP는 --with-zlib[=DIR]
으로 구성되었습니다. ** 참고 사항....: 동적 콘텐츠 가속은 압축
** 실시간 데이터 전송
** 코드: 선진후(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()){
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);
}그밖에{
$ENCODING = "gzip";
}
$ENCODING을 반환합니다.
}그밖에{
0을 반환합니다.
}
}
함수 GzDocOut(){
전역 $PHP_SELF, $CatocGz, $REMOTE_ADDR, $S_UserName;
$ENCODING = CheckCanGzip();
if ($ENCODING){
인쇄 "nn 사용";
$Contents = ob_get_contents();
ob_end_clean();
if ($CatocGz == 'Y'){
"길이를 압축하지 않음: ".strlen($Contents)."
"을 인쇄합니다.
"압축된 길이: ".strlen(gzcompress($Contents))."
"를 인쇄합니다.
출구;
}그밖에{
header("콘텐츠 인코딩: $ENCODING");
}
인쇄 팩('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 인쇄;
print pack('V',$Crc);
print pack('V',$Size);
출구;
}그밖에{
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);
출구;
}
}
?>




以上就介绍了使用 php4 加速 web 传输   , 包括了方容,希望对PHP教程有兴趣的朋友有所帮助。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.