phpbar.de logo

Mailinglisten-Archive

[php] Mein BBCode verlangsamt meine Seite erheblich

[php] Mein BBCode verlangsamt meine Seite erheblich

Yannik Hampe yannik at cipher-code.de
Son Jan 14 21:21:38 CET 2007



Matthias Schlich wrote:
> Hallo liebe PHP-Gemeinde,
> ich hoffe ihr könnt mir bei meinem Problem helfen.
> Ich betreibe auf meinem root-sever eine kleine Community.
> Dabei setze ich ein CMS ein (Ilch - www.ilch.de), das keinen richtigen 
> bbcode nutzt,
> daher hab ich ein "fremdes" Modul installiert, dass diese Lücke schließt.
> Nun zu meinem Problem: Wenn ich über den uns allbekannten code 
> [img]bild.jpg[/img]
> ein Bild einfügen möchte, so prüft der bbcode zuerst die pixel-größe des 
> Bildes um es
> evt zu verkleinern wenn es eine gewisse höhe und breite überschreitet.
> Diese Funktion arbeitet natürlich mit 'getimagesize' und verlangsamt 
> damit meine Seite
> ERHEBLICH wenn server-externe Bilder geladen werden. Liegen die Bilder 
> jedoch auf meinem Server, arbeitet das System in einer sehr guten 
> geschwindigkeit.
> Ich will jetzt natürlich den bbcode erhalten und meine Seite schneller 
> machen.
> Meinen Usern zu sagen sie sollen alle Bilder die sie im Forum posten auf 
> meinen Server zu laden,
> ist natürlich auch nicht wirklich eine Option.
> Dazu habe ich einmal den betreffenden Code hochgeladen unter:
> http://www.matthias-schlich.de/bbcode_img.txt
> Es handelt sich hier nur um die img-funktion. Falls gewünscht, kann ich 
> den Rest des BBCodes auch hochladen.
> Außerdem ist mir folgendes aufgefallen: Das CMS läd alles von oben nach 
> unten der Reihenfolge nach. Also wenn man im Forum einen Artikel mit 
> Bildern aufruft, läd das Script den Text nur bis zum ersten Bild aus der 
> Datenbank, dann kümmert es sich um das Bild und erst wenn das Bild 
> vollständig geladen hat, geht es mit dem Text weiter. Eine erhebliche 
> Erleichterung wäre es, wenn zu erst der gesammte Text laden würde und 
> sich das Script erst dann um das Bild kümmern könnte, so wie in jedem 
> anderen bulletinboard auch.

Nochmal Ergänzung:

ich habe mal eben einen BBCode-Parser geschrieben:
Vielleicht hilft er dir ja:
http://yankee.homelinux.org/bbcode.zip

Yannik

php::bar PHP Wiki   -   Listenarchive