.gz page compress

loki2002

Erfahrenes Mitglied
Hallo!

Es soll moeglich sein Seiten mittels php zu buffern und compressed auszugeben (oder wie auch immer) ..mit gzip.

Wie funktioniert das mit php und muss ich die seiten dann im web-dir mit der endung .gz (zb. index.html.gz) haben oder nicht?

Ebenfalls soll dieses mit dateien und vorallem mit Bildern gehen.. das wuerde mich ebenfalls mal interessieren wie dieses funktioniert.

Vielen Dank fuer eure hilfe schonmal im voraus. :-)
 
Jep, das sollte eigentlich gehen. Ich empfehl dir mal folgende Referenzen:

Falls du nicht zurecht kommst:
PHP:
<?
// output buffering starten:
ob_start("ob_gzhandler");
// Ausgaben machen:
[...]
// output buffering stoppen und buffer ausgeben:
ob_end_flush();
?>
Hab's selber noch nicht ausprobiert, sollte aber so gehen.

HTH


reima
 
ich habe mit folgendem code das problem, dass ich immer ein "permission denied" bekomme wenn ich es ausfuehre. und zwar ist der error immer in den folgenden zeilen:

---------------------
PHP:
 $fil=fopen($cached_file,"w+"); 
    fwrite($fil,$contents,$strlen($contents)); 
    fclose($fil); 
}
---------------------

hier das gesammte script (von php-builder):

PHP:
<?php 

//Construct a filename for the requested URI 
$cached_file=md5($REQUEST_URI); 

if((!file_exists("/cache/$cached_file"))||(!is_valid("/cache/$cached_file"))) { 
    // is_valid validates the cache, you can check for expiration 
    // or particular conditions in that function. 
    // If there's no file or it's invalid we generate the output 
    ob_start(); 
    ob_implicit_flush(0); 

    // Output stuff here...  

    $contents = ob_get_contents(); 
    ob_end_clean(); 

    $fil=fopen($cached_file,"w+"); 
    fwrite($fil,$contents,$strlen($contents)); 
    fclose($fil); 
}  

//Output the file here we are sure the file exists. 
readfile($cached_file); 

?>

woran kann es liegen das er das chached-file nicht speichern kann? (ok ich weiss das permission denied == keine rechte heisst) ...kann es sein das "cache" generell auf dem server untersagt ist? kann ich das umgehen?

Danke!
 
Zurück