PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : vvb.org Hack: Quelltext komprimieren


h75
03.10.2004, 17:03
Halloo. hier mal ein schöner Hack, der folgendes "tut": :D Komprimiert den Quelltext, der ausgegeben wird. Also das, was der Besucher sozusagen zu sehen bekommt, bzw desen Browser. ;) Sämtliche Leerzeilen und Leerzeichen werden geklillt, bzw. zusammengeschoben zu einem einzigen... ;)

Wie geht das denn? :confused:

Ganz einfach! :cool: Öffne die Datei /includes/functions.php und finde (gibt es extakt 1x!!!)
if (DB_QUERIES)
{
$pageendtime = microtime(); So, nun kopiere diesen Code und füge diesen DAVOR ein:
(Das ist die Variante von Mystics :) )
// ###################### Page Output Compression by Mystics #######################

$thisscriptis = array(
'editpost',
'register',
'newreply',
'newthread',
'sendmessage'
);

if (!in_array(THIS_SCRIPT, $thisscriptis))
{
$patterns = array('/\>\s+\</', '/^\s*/m');
$replace = array('> <', '');
$vartext = preg_replace($patterns, $replace, $vartext);
}
else
{
$vartext = preg_replace('/\>\s+\</', '> <', $vartext);
}

// ###################### Page Output Compression by Mystics ####################### Speichere die Datei und kopiere sie mittels deinem FTP-Programm auf den Server. Fertig!

Wie stark ist die Komprimierung?
Kommt drauf an. Bei mir auf der Forumhome (halloo.de/forum.php (http://halloo.de/forum.php) / am 29.10.2004)

Zeilen vorher: 910 (nachher: 57)
Zeichen vorher: 35.500 (nachher: 34.103)
Bytes vorher: 36.408 (nachher: 34.156)

Dieser Hack hat hier seinen Ursprung:
[vB 3.0.3] - Page Output Compression - Whitespace stripper.
http://www.vbulletin.org/forum/showthread.php?t=69787

Mystics
03.10.2004, 19:58
Von satten 1300 Zeilen Code gings runter auf 130 zeilen. (Forumhome)Das sagt doch nichts über die Komprimierung aus - viel wichtiger wären die KByte-Angaben. Pro gesparten Zeilenumbruch dürften das 1-2 Byte sein.

Wegen dem Code: $thisscriptis = array(
'editpost',
'register',
'newreply',
'newthread',
'sendmessage'
);

if (!in_array(THIS_SCRIPT, $thisscriptis))
{
$patterns = array('/\>\s+\</', '/^\s*/m');
$replace = array('> <', '');
$vartext = preg_replace($patterns, $replace, $vartext);
}
else
{
$vartext = preg_replace('/\>\s+\</', '> <', $vartext);
}

h75
03.10.2004, 20:21
Mh stimmt. Das habe ich jetzt mal verglichen. Mit der Nr. 1 Komprimierung hat die Startseite (forumhome) als Gast 31.625 Bytes ; ohne 33.879 Bytes ... also gerade mal 1,2 KB unterschied.. Na das is ja erfolgreich gewesen ^^ loool

Danke fürs anpassen. Damit werden auch gerade mal 31.526 Bytes erreicht. Aber um was es mir in erster Linie geht, ist um den schönen zusammengepressten Code... :D

Auch wenn es in der Grösse nicht viel unterschied gibt, denke ich doch, das so der Code schneller gelesen wird, oder?

Und welche Variante ist nun zu empfehlen? An deiner, Mystics is auch schon einiges anders.. Und kann man statt newpost auch editpost einsetzen? Denn dort ist mir ja aufgefallen, das vorhandene Leerzeilen und Leerzeichen gekillt werden.... Ahja auch bei PNs würde das dann ja komprimiert, allerdings noch nicht getestet)


EDIT Oh mit deiner Version wird auch beim bearbeiten nix mehr verändert. Auch beim PN senden nicht :cool: :cool:


Edit2 Ich hab unter dem Hack (10 zeilen drunter) folgendes Zeile gefunden
$vartext .= "<!-- Page generated in " . vb_number_format($totaltime, 5) . " seconds with $query_count queries -->"; Ist das schon immer dort gewesen? Denn ich hab extra nen Hack eingebaut, um das angezeigt zu bekommen. Wie kann ich das ausgeben? :confused:

Richmen
04.10.2004, 13:32
Also ich hab den Hack auch mal eingebaut, aber nun frag ich mich ob es daran liegen könnte dass ich keine Anhänge mehr hochladen kann :confused:

Anbei das Bild dazu....

h75
04.10.2004, 14:14
mh, das kann aber nicht an dem Hack liegen. bei mir gehts fehlerfrei... Ausbauen und testen.. :rolleyes:

Richmen
04.10.2004, 15:02
Man toll, dann hab ich keine Ahnung wo der fehler herkommt :(

h75
04.10.2004, 15:20
Hast du den immer noch drin? Und funzen die Anhänge dann auch nicht mehr? Wann hat es denn das letzte Mal funtioniert?
Ich hab heute leider net so viel Zeit, erst spät am Abend wieder, deswegen kann ich leider nicht jetzt nachschauen. Aber da es bei mir mir allen 3 Varianten funktioniert, auch mir der überarbeiteten von Mystics, (in Halloo.de und in Halloo.de/testvb/ ) denke ich, es kann nur was anderes sein.

Metro Man
22.10.2004, 16:27
Der Hack ist eine Interessante idee aber ob es wirklich soviel bringt ich teste es mal bei mir.

Tal
22.10.2004, 20:46
es bringt schon viel habe den bereits seit ner weile drin und die forum seite ist nun rund 20 kb kleiner ( bei 20 kategorien )

h75
29.10.2004, 05:21
@ Team. Könnte diesen Thread bitte jemand mal im Titel eindeutschen? und vielleicht nach Tips und Tricks verschieben? Das wäre superlieb. Denn ich habe den ersten Post mal aufgeräumt und ein paar Zahlen addiert. :rolleyes:

samjo
29.10.2004, 05:23
so, hab ihm auch drin, mal schauen, was sich am speed tut.

h75
31.10.2004, 22:13
Halloo. Ich muss nochmal was fragen. Ich hab jetzt die anderen Microstats eingebaut. Denn die finde ich irgendwie besser. Allerdings musste ich genau diese Stelle ersetzen. Wenn ich jedoch den Code an dieser Stelle lasse, geht gar nix mehr. Wo muss der denn nun hin?

Hier diesen Hack hab ich jetzt drin: vB3 Microstats
http://www.vbulletin.org/forum/showthread.php?t=62173

Christian
13.11.2004, 00:39
Also das ist ein sehr guter Hack, ich würde es begrüssen, wenn dieser Standarmässig im vbulletin mit drinn wäre und ich die Option im ACP hätte, diesen An und Auszuschalten (macht Sinn, wenn man die Option "Templatenamen im Quelltext" aktiviert hat).

Gruss
Christian

samjo
13.11.2004, 00:44
Naja, ich hab ihn vorläufig erstmal wieder ausgebaut.
Ich bastel einfach noch zuviel am Board rum und da ist es praktischer, wenn man sich den Source-Code der Html-Ausgabe sauber formatiert anschauen kann. Man findet Fehler einfach besser.

Der Hack an sich ist klasse, aber er sollte wirklich erst dann eingebaut werden, wenn das Forum wirklich "fertig" ist.

h75
13.11.2004, 00:46
Aufjedenfall wäre das geil, den An- und Auszuschalten. Denn wenn man was am basteln ist, muss man den deaktivieren.

Aber mir ist aufgefallen, das in Code+html-boxen trotzdem noch Leerzeichen entfernt werden. Kann man da noch nen gang zurückschalten?

Christian
13.11.2004, 00:47
Naja, ich hab ihn vorläufig erstmal wieder ausgebaut.
Ich bastel einfach noch zuviel am Board rum und da ist es praktischer, wenn man sich den Source-Code der Html-Ausgabe sauber formatiert anschauen kann. Man findet Fehler einfach besser.

Der Hack an sich ist klasse, aber er sollte wirklich erst dann eingebaut werden, wenn das Forum wirklich "fertig" ist.
Jepp und deswegen meinte ich ja auch, das es schön wäre diesen im ACP für die Quelltextfehlersuche abstellen zu können. ;)

Wildthinks
14.11.2004, 16:56
bei mir zerlegt der hack saemtliche codes in der formatierug. darum habe ich ihn wieder ruagenommen oder kann man das irgendwie abstellen?

danke tom

Mystics
14.11.2004, 19:44
bei mir zerlegt der hack saemtliche codes in der formatierug. darum habe ich ihn wieder ruagenommen oder kann man das irgendwie abstellen?

danke tomNur wenn du in die Liste der Ausnahmen noch 'showthread', hinzufügst...dann wird bei der Themenanzeige aber überhaupt nichts mehr "komprimiert".

Wildthinks
14.11.2004, 19:55
Nur wenn du in die Liste der Ausnahmen noch 'showthread', hinzufügst...dann wird bei der Themenanzeige aber überhaupt nichts mehr "komprimiert".
Das heißt für ein Board mit viel Code entweder umschreiben oder nicht einsetzen...oder habe ich was falsch verstanden?

Danke Tom

Mystics
14.11.2004, 20:08
Das heißt für ein Board mit viel Code entweder umschreiben oder nicht einsetzen...oder habe ich was falsch verstanden?

Danke TomRichtig. Ich würde einfach diesen Zusatz hinzufügen.

h75
14.11.2004, 20:49
So z.b. kann man die ausbauen. Dann kommprimiert er nicht mehr so stark und leerzeilen werden hier und da verschont. :rolleyes:

Don B.
19.11.2004, 23:17
ähm, h75 - bei deinem link oben, also deiner page, sehe ich mit firefox immer noch den ganz normalen quelltext ?!

normal? :)

h75
20.11.2004, 00:01
Das liegt daran, das ich diesen gerade deaktiviert habe. Der Übersicht wegen. Wird noch heute wieder aktiviert. ;)

h75
20.11.2004, 13:11
So der is jetzt wieder drin und quetscht den Code schön zusammen. :D
Was noch interessant wäre, da fragt auch einer vb.org nach, ob man das irgendwie einstellen kann. Wie stark der auf welchen Seiten komprimieren soll. Zur Zeit werden nämlich noch einige Zeilen aus den Codeboxen gelöscht, wenn man Codes postet. Deswegen habe ich die showpost auch mit aufgenommen, damit dort der Code richtig erscheint. Denn die Seite lädt eh schneller wie showthread. // ###################### Page Output Compression #######################

$thisscriptis = array(
'calendar',
'editpost',
'newreply',
'newthread',
'private',
'profile',
'register',
'sendmessage',
'showpost',
'usernote'
);

if (!in_array(THIS_SCRIPT, $thisscriptis))
{
$patterns = array('/\>\s+\</', '/^\s*/m');
$replace = array('> <', '');
$vartext = preg_replace($patterns, $replace, $vartext);
}
else
{
$vartext = preg_replace('/\>\s+\</', '> <', $vartext);
}

// ###################### Page Output Compression #######################

h75
17.12.2004, 05:29
Halloo. Ich versuche schon ein paar Tage, mit Hilfe von Google, diesen Hack auch für PHP Dateien zu benutzen, die nix mit vB zu tun haben. Also für ne eigenständige Seite. Bisher bin ich noch nicht weiter gekommen.

Kann mir vielleicht jemand nen Tip geben? :confused:

Queron
27.12.2005, 18:08
Hallo,

irgendwie finde ich die angebenen Zeilen in der genannten Datei nicht (und auch in keine der anderen Dateien).

Also statt

if (DB_QUERIES)
{
$pageendtime = microtime();
finde ich nur

if ($vbulletin->db->explain)
{
$pageendtime = microtime();

if (!empty($vbulletin->db->explain))
{
$pageendtime = microtime();

if ($vbulletin->debug)
{
$pageendtime = microtime();

Wo soll ich den Code nun hinsetzen?

Mystics
27.12.2005, 21:53
irgendwie finde ich die angebenen Zeilen in der genannten Datei nicht (und auch in keine der anderen Dateien).Das liegt daran, dass du vB 3.5 hast, dieser Hack aber für vB 3.0 ist (siehe Forum-Titel).

Bei vBulletin.org gibt es ein Plug-in für vB 3.5, aber ich rate vom Installieren stark ab, da das Ding einige Probleme verursacht, wie z.B. verschwundene Leerzeilen beim Schreiben/Bearbeiten von Beiträgen etc.

Deshalb spare ich mir den Link mal.

Philipp C. Gérard
28.12.2005, 23:47
Ein Hinweis zu eurer Technik: Mitunter strengt sowas den Webserver an, daher würde ich mir überlegen was euch wichtiger ist: 1kb weniger Traffic pro Seite (ist dem Benutzer egal und eurem Webtarif normalerweise auch) oder mehr Serverlast (ist manchmal sehr lästig). Ich würde sowas jedenfalls nur in kleinen oder mittleren Foren einbauen, die einen Webserver für sich alleine haben... :)

FiX
26.01.2006, 17:48
Wir verwenden diesen Hack (http://www.vbulletin.org/forum/showthread.php?t=106333), der scheint gut zu funktionieren. Verkleinert die Seiten bei uns ca. um 10%.