PHP Blogger

Startseite Schreib mir ne Mail! RSS Abo Webnews

Archiv für April 2007

Wie groß ist Dein Upload?

Diese Frage stelle ich mir immer wieder. Kunden kommen ja auf die absonderlichsten Dinge. Installiert man ein WCMS, ganz gleich welches, muss erst mal ein 200MB Video hochgeladen werden - und da krachts natürlich weil das Upload-Limit geringer eingestellt ist.

Macht es überhaupt Sinn, die maximale Uploadgröße höher zu setzen als den vorkonfigurierten 2 MB? Ja klar. Wie schnell findet sich ein PDF, ein hochauflösendes Pressefotos oder gleich ein Zip-Archiv, das in das WCMS Repository hochgeladen werden soll. Und das ist auch sinnvoll.

Problematisch beim klassischen Upload über ein HTML Formular ist natürlich auch der fehlende Fortschrittsbalken. Als Nutzer weiß man nie so genau “Lebst Du schon oder lädst Du noch?” ;) In den Zeiten von 6M-DSL und/oder synchronen Uploadraten wird die größte Größe immer kleiner. Trotzdem uploaded man bei 100 oder 200MB (jetzt mal ganz extrem, ist aber schon vorgekommen) eine ganze Weile - um als Nutzer nach einer halben/dreiviertel Stunde festzustellen, dass es ein Uploadlimit gibt :)

Den Sicherheits-Gedanken nicht zu vergessen - Wie schnell öffnet man ein riesen Scheunentor für Leutchen, die man besser nicht auf seinem Server hätte.

Den kompletten Artikel lesen »

Teile und genieße Diese Icons verzweigen auf soziale Netzwerke bei denen Nutzer neue Inhalte finden und mit anderen teilen können.
  • MisterWong
  • del.icio.us
  • Technorati
  • Digg
  • Slashdot
  • YahooMyWeb
  • Furl
  • Ma.gnolia
  • Spurl
  • Netscape
  • StumbleUpon
  • MyShare
  • blogmarks

Die Macht von INNER JOINS

Gerade eben wieder erlebt - INNER JOINS machen das Leben schön. Aber leider stelle ich ständig fest, das es MySQL Banausen gibt, die felsenfest behaupten, dass es keinen Unterschied zwischen CROSS JOINS, LEFT JOINS und INNER JOINS gibt.

Okay, kleines Beispiel. Eben rief mich ein Kunde an und meinte, es dauert etwa 20 Sekunden, bis eine bestimmte Seite in der Administration angezeigt wird. Zuverlässig reproduzierbar. Ein Blick auf die MySQL Konsole und schon war klar, wo der Hase begraben liegt.

Die Seite hat einen Eigenschaften-Block, der aus einem allgemeinen Daten-Repository geladen wird. Das Repository ist durch 3 Tabellen realisiert: Die erste beinhaltet die Datensatz-definitionen, die zweite die Feld-Definitionen und die dritte die Wert/Feld/Datensatz Verknüpfung. Und so viele Datensätze waren in den einzelnen Tabellen:

  • Datensatz-Tabelle: 14000
  • Feld-Tabelle: 300
  • Werte-Tabelle: 111000

Den kompletten Artikel lesen »

Teile und genieße Diese Icons verzweigen auf soziale Netzwerke bei denen Nutzer neue Inhalte finden und mit anderen teilen können.
  • MisterWong
  • del.icio.us
  • Technorati
  • Digg
  • Slashdot
  • YahooMyWeb
  • Furl
  • Ma.gnolia
  • Spurl
  • Netscape
  • StumbleUpon
  • MyShare
  • blogmarks

Ein halber Nöööörd

I am nerdier than 50% of all people. Are you nerdier? Click here to find out!

Nö, ich bin kein halber Nördern Walker und auch kein Nörddeutscher - Einfach nur ein halber Nerd :) Gefunden bei Nils (Der wohl immer noch an seinem Blog schraubt ;) und Sebastian, der bisher krasseste Nerd…

BTW: Wie viel Nerd muss man eigentlich sein, um so einen bescheuerten Test zu machen?

Teile und genieße Diese Icons verzweigen auf soziale Netzwerke bei denen Nutzer neue Inhalte finden und mit anderen teilen können.
  • MisterWong
  • del.icio.us
  • Technorati
  • Digg
  • Slashdot
  • YahooMyWeb
  • Furl
  • Ma.gnolia
  • Spurl
  • Netscape
  • StumbleUpon
  • MyShare
  • blogmarks

Full House

Stell Dir vor, Du machst eine Party. Eine richtig große Party - in einem richtig kleinen Haus. Das wär ganz schön eng. Ich glaube es würden sich alle Mädels beschweren, die für den Weg zur Toilette eine Stunde brauchen und vor der Toilette nochmal ne halbe Stunde warten müssen.

Denk mal einen Schritt weiter: Wieviele Typen in Deinem Haus sind, die Du scheisse findest und niemals auf ein Bierchen eingeladen hättest. Aber sie haben sich selbst eingeladen und gleich noch ein paar Homies mitgebracht. Na super!

Dieser Blog-Beitrag greift das Thema ganz gut auf: Nutze Includes nur dann, wenn Du den Code auch benötigst, sonst bricht die ganze Applikation zusammen und ist so lahm wie eine Oma auf dem Weg zum Einkaufen.

Also Leute: Ballert Eure Scripte nicht hirnlos mit 1000 includes voll und wenn ihr includes benutzt, ladet nur das Zeug nach, dass ihr wirklich braucht.

Teile und genieße Diese Icons verzweigen auf soziale Netzwerke bei denen Nutzer neue Inhalte finden und mit anderen teilen können.
  • MisterWong
  • del.icio.us
  • Technorati
  • Digg
  • Slashdot
  • YahooMyWeb
  • Furl
  • Ma.gnolia
  • Spurl
  • Netscape
  • StumbleUpon
  • MyShare
  • blogmarks

htmlentities und UTF-8

Sergej hat festgestellt, was sicherlich schon mehreren Entwicklern (mir eingeschlossen) aufgefallen ist: Sowohl htmlentities als auch html_entity_decode unterstützen kein UTF-8. Das ist aus meiner Sicht zwar kein Bug, aber auf jeden Fall ein fehlendes Feature.

Statt eine Applikation von UTF-8 auf ISO downzugraden, ist es ratsam den selben Weg wie Sergej einzuschlagen - mit Workarrounds. So erhält man eine konsistente mehrsprachige Applikation und kann sich auch über japanische und kyrillische Besuche und Kommentare freuen! ;)

Kleine Ergänzung übrigens zur Umsetzung seines Workarrounds: Gut ist, dass er nicht die Zeichen an sich einbettet, sondern auf die Ascii-Notation zurückgreift. Dadurch kann er prima in Nicht-UTF-8 Code UTF-8 Zeichen darstellen - die Sourcen sind eben meistens doch ISO…

Und noch ein Update: Als dritten Parameter kann man für die Funktion htmlentities seit PHP 4.1 auch die Kodierung des String übergeben - z.B. “UTF-8″ das verspricht auf jeden Fall Besserung!

Teile und genieße Diese Icons verzweigen auf soziale Netzwerke bei denen Nutzer neue Inhalte finden und mit anderen teilen können.
  • MisterWong
  • del.icio.us
  • Technorati
  • Digg
  • Slashdot
  • YahooMyWeb
  • Furl
  • Ma.gnolia
  • Spurl
  • Netscape
  • StumbleUpon
  • MyShare
  • blogmarks

Hey ihr seht ja alle gleich aus!

Jeder Web 2.0 Entwickler coded mehrsprachig. Sei es PHP/Javascript oder ASP/Javascript oder Ruby/Javascript oder Coldfusion oder was weiß ich. Am Ende sind unter Umständen sogar noch mehr Scriptsprachen kombiniert.

Wem kommt das bekannt vor?

- Ups - Semikolon am Zeilenende vergessen (ASP vs PHP)
- Mist! $ vor dem Variablennamen (JS vs PHP)
- Dreck… “Dim” statt “var” zum Variablen initialisieren (ASP vs JS/PHP)

Den kompletten Artikel lesen »

Teile und genieße Diese Icons verzweigen auf soziale Netzwerke bei denen Nutzer neue Inhalte finden und mit anderen teilen können.
  • MisterWong
  • del.icio.us
  • Technorati
  • Digg
  • Slashdot
  • YahooMyWeb
  • Furl
  • Ma.gnolia
  • Spurl
  • Netscape
  • StumbleUpon
  • MyShare
  • blogmarks

Rechtschreibung wie ein Immigrant

Hallo an alle, muss mich jetzt mal für meine Rechtschreibung in vorangegangenen Artikeln entschüldiggen :) Die is schlimmer als bei einem Türken (Sorry nix gegen Türken) und schlimmer als bei allen anderen Ausländern (Auch nix gegen alle anderen Ausländer).

Da hat das Deutsch LK wohl nicht viel genutzt… Ich les mir jeden Artikel vor dem veröffentlichen mindestens 2x durch - die Mühe kann ich mir wohl sparen. Wenn wer einen Fehler findet bitte kommentieren, dann wirds korrigiert: Versprochen!

Teile und genieße Diese Icons verzweigen auf soziale Netzwerke bei denen Nutzer neue Inhalte finden und mit anderen teilen können.
  • MisterWong
  • del.icio.us
  • Technorati
  • Digg
  • Slashdot
  • YahooMyWeb
  • Furl
  • Ma.gnolia
  • Spurl
  • Netscape
  • StumbleUpon
  • MyShare
  • blogmarks

kippe4you

PHP Blogger - Das Leben endet meistens tödlichLol, den Fluppomat habe ich bei Sven entdeckt… Den kann ich Euch einfach nicht vorenthalten.

Und damits wenigstens ein bissel was mit PHP zu tun hat, liefert er gleich noch ein Tutorial zum selber basteln mit. Wer schon immer mal so einen schicken Fluppengenerator programmieren wollte, findet bestimmt einen Anreiz…

Ich bin zwar selbst seit einem Jahr zu den Nichtrauchern übergewechselt, aber die Hall of Fume zaubert doch jedem ein Lächeln auf die Lippen ;) Mein persönlicher Favorit ist “Web 2.0 kann zu Kopfschmerzen führen” - Wo der Verfasser Recht hat, hat er Recht…

Teile und genieße Diese Icons verzweigen auf soziale Netzwerke bei denen Nutzer neue Inhalte finden und mit anderen teilen können.
  • MisterWong
  • del.icio.us
  • Technorati
  • Digg
  • Slashdot
  • YahooMyWeb
  • Furl
  • Ma.gnolia
  • Spurl
  • Netscape
  • StumbleUpon
  • MyShare
  • blogmarks

Ey Du komms hier ned rein!

StopschildTürsteher für Webseiten gefällig? BotTrap schützt vor bösen Robots, Crawlern, Email-Harvestern, Content-Grabbern, Saugern und Leechern!

Zusätzlich kriegen automatisierte Blog-, Formular-, Gästebuch- und Forumspammer nur einen schönen Hinweistext zu sehen. Das schafft Befriedigung und ein Schmunzeln auf die Lippen von Webmastern :)

Den kompletten Artikel lesen »

Teile und genieße Diese Icons verzweigen auf soziale Netzwerke bei denen Nutzer neue Inhalte finden und mit anderen teilen können.
  • MisterWong
  • del.icio.us
  • Technorati
  • Digg
  • Slashdot
  • YahooMyWeb
  • Furl
  • Ma.gnolia
  • Spurl
  • Netscape
  • StumbleUpon
  • MyShare
  • blogmarks

Es werde Licht!

Mit Lightbox hat Lokesh Dhakar mit Sicherheit eine Web-Legende für Bilddarstellung geschaffen. Neu in Version 2 sind Image-Sets und Übergange zwischen den Bildern.

Lightbox 2 nutzt (und das muss lobend erwähnt werden) Prototype und die Scriptaculous-Effekt Bibliothek.

Die Integration gestaltet sich denkbar einfach:

  • Prototype JS einbinden
  • Scriptaculous JS einbinden
  • Lightbox JS einbinden
  • Lightbox CSS einbinden
  • Beliebige Image-Tags mit dem rel=”lightbox” Attribut ausstatten

Den kompletten Artikel lesen »

Teile und genieße Diese Icons verzweigen auf soziale Netzwerke bei denen Nutzer neue Inhalte finden und mit anderen teilen können.
  • MisterWong
  • del.icio.us
  • Technorati
  • Digg
  • Slashdot
  • YahooMyWeb
  • Furl
  • Ma.gnolia
  • Spurl
  • Netscape
  • StumbleUpon
  • MyShare
  • blogmarks
Ältere Artikel »