Das Tippsforum
Link zum Forum
Viele Leute haben das Problem, dass ihre Webseiten mit PHP-Fusion immer so lange zum laden brauchen. Dies kann man aber beheben indem man seine Webseite mit GZIP komprimiert. Und so geht es:
Als erstes erstellt man eine PHP-Datei im Verzeichnis “includes” und füllt diese mit folgendem Inhalt:
<?php
$force_gzip = "no";
define("GzipCompressionLevel",3);
if($force_gzip == "yes") {$FORCE_COMPRESSION = true;} else {$FORCE_COMPRESSION = false;}
function gzipCompressionHandler($content)
{
preg_match_all("{[\w\-]+}”,$_SERVER["HTTP_ACCEPT_ENCODING"],$matches);
$encoding=false;
if(in_array(”x-gzip”,$matches[0])) $encoding=”x-gzip”;
if(in_array(”gzip”,$matches[0])) $encoding=”gzip”;
if($encoding!==false && function_exists(”gzcompress”)) {
$header=”\x1f\x8b\x08\x00\x00\x00\x00\x00″;
$compressed=substr(gzcompress($content, GzipCompressionLevel),0,-4);
$trailer=pack(”V”,crc32($content)).pack(”V”,strlen($content));
$content=$header.$compressed.$trailer;
@header(”Content-Encoding: $encoding”);
@header(”Content-Length: “.strlen($content));
}
return $content;
}
if(isset($_SERVER['HTTP_ACCEPT_ENCODING'])){$AE = $_SERVER['HTTP_ACCEPT_ENCODING'];}
else{$AE = $_SERVER['HTTP_TE'];}
$support_gzip = (strpos($AE, ‘gzip’) !== FALSE) || $FORCE_COMPRESSION;
if($support_gzip){
ob_start(”gzipCompressionHandler”);
$gzpstatus = “on”;
}
else
{
ob_start(”);
$gzpstatus = “off”;
}
?>
Diese speichert man unter dem Namen gzip.php ab. Jetzt öffnet man die subheader.php. In diese schreibt man ganz oben nach <?php folgendes:
include INCLUDES."gzip.php";
Jetzt nur noch die Dateien auf den Server laden und schon funktioniert das schnellere laden.
on November 14th, 2007 at 13:15
PS: Danke an Creator für dieses Tutorial auf Englisch.
on Mai 17th, 2008 at 10:49
Hi,
ist schon irgendwie geil, die Seite ist wirklich um einiges schneller.
Hätte ich nicht gedacht.
Danke für den Tipp.