Heim > Artikel > Backend-Entwicklung > Beschleunigen Sie Webübertragungen mit PHP4
/***************************************
** Titel.........: php4 HTTP ComPRession beschleunigt das Web
** Version.......: 1.10
** Autor.......: catoc
** Dateiname......: gzdoc.php
** Letzte Änderung: 25.08.2000
** Anforderungen...: PHP4 >= 4.0.1
** PHP wurde mit --with-zlib[=DIR]
konfiguriert
** Hinweise.........: Dynamic Content Acceleration komprimiert
** die Datenübertragungsdaten im laufenden Betrieb
** Code von Sun Jin Hu (Catoc)
** Die meisten neueren Browser seit 1998/1999 verfügen über
** wurde für die Unterstützung von HTTP 1.1 ausgestattet
** Standard, bekannt als „Content-Encoding“.
** Im Wesentlichen zeigt der Browser das
an
** Server, der „Content Encoding“ akzeptieren kann
** und wenn der Server dazu in der Lage ist, dann
** Komprimieren Sie die Daten und übertragen Sie sie. Das
** Der Browser dekomprimiert es und rendert dann
** die Seite.
** Verwendung.......:
** Kein Leerzeichen vor dem Anfang des ersten '' Etikett.
** ------------Anfang der Datei----------
** |
** | include('gzdoc.php');
** | print „Ausgabe starten!!“;
** |?>
** |
** |... die Seite ...
** |
** |
** | gzdocout();
** |?>
** -------------Ende der Datei-----------
*************************************/
ob_start();
ob_implicit_flush(0);
Funktion GetHeader(){
$headers = getallheaders();
while (list($header, $value) = every($headers)) {
$Message .= "$header: $value
n";
}
return $Message;
}
Funktion CheckCanGzip(){
global $HTTP_ACCEPT_ENCODING, $PHP_SELF, $Wget, $REMOTE_ADDR, $S_UserName;
if (connection_timeout() || Connection_aborted()){
0 zurückgeben;
}
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 .= "Zeit: ".date("Y-m-d H:i:s")."n";
$Error_Msg .= "Remote-Adresse: ".$REMOTE_ADDR."n";
//mail('your@none.net', "Benutzer haben x-gzip-Ausgabe in der Datei $PHP_SELF!!!", $Error_Msg);
}else{
$ENCODING = "gzip";
}
return $ENCODING;
}else{
0 zurückgeben;
}
}
Funktion GzDocOut(){
global $PHP_SELF, $CatocGz, $REMOTE_ADDR, $S_UserName;
$ENCODING = CheckCanGzip();
if ($ENCODING){
print "nn verwenden";
$Contents = ob_get_contents();
ob_end_clean();
if ($CatocGz == 'Y'){
print „Länge nicht komprimieren: „.strlen($Contents).“
“;
print „Komprimierte Länge: „.strlen(gzcompress($Contents)).“
“;
Ausfahrt;
}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);
$Contents drucken;
print pack('V',$Crc);
print pack('V',$Size);
Ausfahrt;
}else{
ob_end_flush();
$Error_Msg = str_replace('
','',GetHeader());
$Error_Msg .= "Zeit: ".date("Y-m-d H:i:s")."n";
$Error_Msg .= "Remote-Adresse: ".$REMOTE_ADDR."n";
//mail('your@none.net', "Benutzer kann die gzip-Ausgabe in der Datei $PHP_SELF nicht verwenden!!!", $Error_Msg);
Ausfahrt;
}
}
?>
以上就介绍了使用 php4 加速 web 传输 🎜>