IPB

Willkommen, Gast ( Anmelden | Registrierung )

4 Seiten V  < 1 2 3 4 >  
Reply to this topicStart new topic
> HTML und PHP, PHP Komprimiert schneller als HTML?
Conny
Beitrag 29.12.2004 - 16:04
Beitrag #11


Kommt Zeit, kommt Rat, kommt Conrad!
Gruppensymbol

Gruppe: Mods
Beiträge: 1.169
Mitglied seit: 21.11.2001
Wohnort: Altenkirchen, Westerwald
Mitglieds-Nr.: 42



ZITAT(Andreas @ 29.12.2004 - 11:01)
... und wenn das in der verwendeten Schriftart nicht vorhanden ist, kommt halt das Kästchen ....
*

Ja, das sehe ich auch so und ist sicher richtig.

Ich habe aber in meine CSS keine spezifische Schriftart angegeben -außer 'Serif'- das sollte beim User doch die Trefferquote erhöhen oder nicht?
Meine Annahme ist/war, daß wenn ich es offen lasse, vom Browser sowieso eine häufige schriftart gewählt wird, und das da i.d.R. das Euro-Zeichen mit dabei ist...
War wohl doch nicht so, wie mir Dein Beispiel zeigt sad.gif

Grundsätzlich hast Du aber recht (schon wieder) man sollte diese Spielereien einfach lassen und EURO schreiben! Basta!

Danke für den Hinweis!
Conny
Go to the top of the page
 
+Quote Post
SteffenG
Beitrag 31.12.2004 - 0:27
Beitrag #12


looks good


Gruppe: User
Beiträge: 75
Mitglied seit: 12.11.2003
Mitglieds-Nr.: 1.642



Ich denke, du müsstest deine html-Seiten nichtmal in php-Seiten umwandeln. Du könntest deine HTML-Seiten auch per .htaccess 'wrappen': http://www.gungfu.de/facts/archives/2004/0...namische-macht/
Oder du verwendest mod_gzip: http://www.faqs.org/docs/apache-compile/compress.html


schöne Grüße
Steffen

Der Beitrag wurde von SteffenG bearbeitet: 31.12.2004 - 0:36
Go to the top of the page
 
+Quote Post
Conny
Beitrag 31.12.2004 - 8:39
Beitrag #13


Kommt Zeit, kommt Rat, kommt Conrad!
Gruppensymbol

Gruppe: Mods
Beiträge: 1.169
Mitglied seit: 21.11.2001
Wohnort: Altenkirchen, Westerwald
Mitglieds-Nr.: 42



Hallo Steffen,
vielen Dank für diesen hinweis, aber, soweit ich das überblicken kann, wird es doch bereits so, oder so ähnlich, gemacht!
'Dieters Code' der den eigentlichen Inhalt vorangestellt wird, arbeitet doch nach diesem gzip Prinzip.
abgeschlossen wird es dann mit der Zeile:
QUELLTEXT
<?
GzDocOut();
?>
und das war's.
Ich habe nur das Gefühl, daß der Komprimierungsgrad -in meinem Fall- nicht so hoch ausfällt als erwartet Dieters schätzung lag bei ca. 50% und davon bin ich weit entfernt.
Daher meine Fragen:
Habe ich fehler im Script gemacht? (ich habe zu wenig ahnung das 100% checken zu können)
Oder, kann es sein, daß der Server meines Provider (Canhost) diese Zeilen einfach ignoriert? (und ich zunächst noch weitere Einstellungen vornehmen muss?)

@Dieter, Du bist ja nun auch fix in diesen Sachen, hast Du noch 'ne Idee?

cu
Conny
Go to the top of the page
 
+Quote Post
db
Beitrag 31.12.2004 - 9:14
Beitrag #14


hdb
*****

Gruppe: User
Beiträge: 685
Mitglied seit: 26.10.2001
Wohnort: Köln
Mitglieds-Nr.: 5



CODE

<?
ob_start();
ob_implicit_flush(0);
function CheckCanGzip(){
   global $HTTP_ACCEPT_ENCODING;
   if (headers_sent() || connection_aborted()){
       return 0;
   }
   if (strpos($HTTP_ACCEPT_ENCODING, 'x-gzip') !== false) return "x-gzip";
   if (strpos($HTTP_ACCEPT_ENCODING,'gzip') !== false) return "gzip";
   return 0;
}
/* $level = compression level 0-9, 0=none, 9=max */
function GzDocOut($level=9,$debug=0){
   $ENCODING = CheckCanGzip();
   if ($ENCODING){
       print "\n<!-- Use $ENCODING -->\n";
       $Contents = ob_get_contents();

       if ($debug){
 $d1=strlen($Contents);
 $d2=strlen(gzcompress($Contents,$level));
 $s="<p><table>";
 $s.="<tr><td>Normal page size:</td><td>$d1 bytes</td></tr>";
 $s.="<tr><td>Compressed page size:</td><td>$d2 bytes</td></tr>";
 $s.="<tr><td>Compression power:</td><td>".round(($d1/$d2),2)."x</td></tr>";
 $s.="</table>";
 $Contents.=$s;
}

       ob_end_clean();
       header("Content-Encoding: $ENCODING");
       print "\x1f\x8b\x08\x00\x00\x00\x00\x00";
       $Size = strlen($Contents);
       $Crc = crc32($Contents);
       $Contents = gzcompress($Contents,$level);
       $Contents = substr($Contents, 0, strlen($Contents) - 4);
       print $Contents;
       print pack('V',$Crc);
       print pack('V',$Size);
       exit;
   }else{
       ob_end_flush();
       exit;
   }
}
?>


Ersetze den Code, dann änderst Du noch gzdocout(); in gzdocout(9,1);
Go to the top of the page
 
+Quote Post
Conny
Beitrag 31.12.2004 - 9:52
Beitrag #15


Kommt Zeit, kommt Rat, kommt Conrad!
Gruppensymbol

Gruppe: Mods
Beiträge: 1.169
Mitglied seit: 21.11.2001
Wohnort: Altenkirchen, Westerwald
Mitglieds-Nr.: 42



Hi Dieter,
Ok hab's gemacht.
Die Datei zeigt -im Uploader- eine Größe von 33.376 Byte
Im Internet aufgerufen (Rechtsklick Eigenschaften): 32.144 Byte
Also wird die Datei 1.232 Bytes kleiner, das entspricht in etwa 3,7%.

Wahrscheinlich ist einfach nicht mehr drin.
(Spricht das nicht für einen schlanken Code!! biggrin.gif )

Vielen Dank
Conny
Go to the top of the page
 
+Quote Post
db
Beitrag 31.12.2004 - 9:58
Beitrag #16


hdb
*****

Gruppe: User
Beiträge: 685
Mitglied seit: 26.10.2001
Wohnort: Köln
Mitglieds-Nr.: 5



ZITAT(Conny @ 31.12.2004 - 9:52)
...
Wahrscheinlich ist einfach nicht mehr drin.
...


Conny, Du betrachtest die falschen Werte!

Ich habe es weiter oben bereits geschrieben:

Im Browser wird Dir unter Eigenschaften die dekomprimierte Size angezeigt! Der bezieht sich auf den Quelltext und nicht auf den per gzip übertragenen Quelltext.

Sieh mal auf das Seitenede Deiner Testseite:

Normal page size: 31963 bytes
Compressed page size: 6841 bytes
Compression power: 4.67x

Ist das nix?

Nachtrag:

Ändere nach Deinen Tests gzdocout(9,1) wieder nach gzdocout();

Wenn Du Debug auf 1 setzt, wird die Compression zweimal ausgeführt, sonst könnte im Content nicht die Compressed Size angegeben werden.

Der Beitrag wurde von hdb bearbeitet: 01.01.2005 - 9:08
Go to the top of the page
 
+Quote Post
Conny
Beitrag 31.12.2004 - 11:03
Beitrag #17


Kommt Zeit, kommt Rat, kommt Conrad!
Gruppensymbol

Gruppe: Mods
Beiträge: 1.169
Mitglied seit: 21.11.2001
Wohnort: Altenkirchen, Westerwald
Mitglieds-Nr.: 42



ZITAT(hdb @ 31.12.2004 - 8:58)
Ist das nix?
*


Ob das nix ist?
Das ist ein HAMMER !

Entschuldigt bitte, daß ich das vorher nicht richtig intrepetiert habe blush.gif
Auf diesem Gebiet bin ich noch nicht so bewandert. lurker.gif
Aber ich arbeite dran! icon13.gif

Conny
Go to the top of the page
 
+Quote Post
db
Beitrag 31.12.2004 - 11:21
Beitrag #18


hdb
*****

Gruppe: User
Beiträge: 685
Mitglied seit: 26.10.2001
Wohnort: Köln
Mitglieds-Nr.: 5



Na also.

Ab PHP 4.0.4 kannst du das einfacher haben.

Lege mal in dem Ordner mit Deiner Testdatei eine Datei php.ini an.

Inhalt:

output_handler = ob_gzhandler;

Wenn Dein Server das unterstützt, solltest Du beim Aufruf der Seite eine Fehlermeldung erhalten, weil die Compression zweimal aufgerufen wurde - oder der Browser bietet Dir die Datei zum Download an.

Wenn das funktioniert, verzichtest Du auf diese Compressions-Funktion und legts in den relevanten Ordnern jeweils eine php.ini an. Fertig.

Den Kompressionsgrad kannst Du danach allerdings nur noch über die Logfiles auf dem Server ermitteln. Ist aber egal, wenn man erst mal die 50% im Hinterkopf hat. :-)

Alternativ kannst Du auch am Anfang jeder PHP-Datei schreiben:

<?
ob_start("ob_gzhandler");
?>
Go to the top of the page
 
+Quote Post
Conny
Beitrag 31.12.2004 - 12:52
Beitrag #19


Kommt Zeit, kommt Rat, kommt Conrad!
Gruppensymbol

Gruppe: Mods
Beiträge: 1.169
Mitglied seit: 21.11.2001
Wohnort: Altenkirchen, Westerwald
Mitglieds-Nr.: 42



OK, noch mal zum besseren Verständnis.
wenn ich eine php.ini mit der Zeile: output_handler = ob_gzhandler; erstelle und auf'm Server ablege, werden ALLE php-Dateien ,die auf diese Ebene liegen, komprimiert. Richtig?
An den php-Dateien selbst brauche ich dann nichts mehr zu ändern.

Wenn php.ini nicht funktioniert, dann bei allen php-Dateien die Zeile:
<?
ob_start("ob_gzhandler");
?>
'on top' einfügen, um das gleiche resultat zu erreichen.

Wieso brauche ich denn dann DIESEN Code nicht mehr???

cu
Conny
Go to the top of the page
 
+Quote Post
db
Beitrag 31.12.2004 - 13:03
Beitrag #20


hdb
*****

Gruppe: User
Beiträge: 685
Mitglied seit: 26.10.2001
Wohnort: Köln
Mitglieds-Nr.: 5



So ist es, wenn Dein Server mitspielt und die PHP Version. Aber, das hat man ja flott getestet.

Ob die php.ini im Ordner berücksichtig wird sieht man mit

<?
phpinfo();
?>

gleich am Anfang unter: Configuration File (php.ini) Path
Go to the top of the page
 
+Quote Post
Google Bot
Beitrag
Beitrag #


Google Ads









Go to the top of the page
 
Quote Post

4 Seiten V  < 1 2 3 4 >
Reply to this topicStart new topic
2 Besucher lesen dieses Thema (Gäste: 2 | Anonyme Besucher: 0)
0 Mitglieder:

 



RSS Vereinfachte Darstellung Aktuelles Datum: 13.05.2025 - 2:59

taschenkalender
expertise-panel IPS Driver Error

IPS Driver Error

There appears to be an error with the database.
You can try to refresh the page by clicking here