![]() |
Willkommen, Gast ( Anmelden | Registrierung )
![]() ![]() |
![]() |
![]()
Beitrag
#11
|
|
Kommt Zeit, kommt Rat, kommt Conrad! ![]() Gruppe: Mods Beiträge: 1.169 Mitglied seit: 21.11.2001 Wohnort: Altenkirchen, Westerwald Mitglieds-Nr.: 42 ![]() |
ZITAT(Andreas @ 29.12.2004 - 11:01) 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 ![]() Grundsätzlich hast Du aber recht (schon wieder) man sollte diese Spielereien einfach lassen und EURO schreiben! Basta! Danke für den Hinweis! Conny |
|
|
![]()
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 |
|
|
![]()
Beitrag
#13
|
|
Kommt Zeit, kommt Rat, kommt Conrad! ![]() 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 <? und das war's.GzDocOut(); ?> 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 |
|
|
![]()
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); |
|
|
![]()
Beitrag
#15
|
|
Kommt Zeit, kommt Rat, kommt Conrad! ![]() 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!! ![]() Vielen Dank Conny |
|
|
![]()
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 |
|
|
![]()
Beitrag
#17
|
|
Kommt Zeit, kommt Rat, kommt Conrad! ![]() Gruppe: Mods Beiträge: 1.169 Mitglied seit: 21.11.2001 Wohnort: Altenkirchen, Westerwald Mitglieds-Nr.: 42 ![]() |
|
|
|
![]()
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"); ?> |
|
|
![]()
Beitrag
#19
|
|
Kommt Zeit, kommt Rat, kommt Conrad! ![]() 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 |
|
|
![]()
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 |
|
|
Google Bot |
![]()
Beitrag
#
|
![]() Google Ads ![]() |
|
|
|
![]() ![]() |
![]() |
Vereinfachte Darstellung | Aktuelles Datum: 13.05.2025 - 5:14 |