So wie's aussieht, ist das kein PHP-Skript, sondern ein PNG. Wie man solche PNGs, die bei jedem Aufruf was anderes anzeigen, erstellt, weiß ich nicht. Aber ein Prototypen eines PHP-Skripts kann ich hier mal schnell zusammenschustern:
Die einzige Vorraussetzung für dieses Skript sollte sein, dass nur PNGs verwendet werden (was theoretisch auch durch entfernen des Content-Headers aufgehoben werden könnte, da fast alle gängigen Browser bei einem IMG-Element automatisch von einem Bild ausgehen und sich den richtigen Mime-Type suchen). Die zu wechselnden Bilder werden im Array $bilder gespeichert, per Zufall durch rand() ausgewählt und deren Inhalt, der durch file_get_contents() ermittelt wird, ausgegeben.
Trotz der mir zumindest hier richtig erscheinenden Erklärung kann das Skript natürlich auch nix anderes als Fehlermeldungen produzieren
Ich würde es wie der Ork machen, bis darauf, dass ich die Zeile
durch folgende ersetzen würde:
Das ist imo sinnvoller, weil ich mir nicht sicher bin, ob man mit file_get_contents() wirklich alle Zeichen bekommt, oder ob unlesbare (also die Ascii-Zeichen bis 30) einfach ignoriert werden...
Hm, bei mir hat das so IIRC immer richtig funktioniert.
Aber wenn man es so macht wie du, sollte man sich an die Standards halten (mach ich zwar auch nie, aber egal):
Denn laut der PHP-Dokumentation zu header() sollte man besser absolute URIs verwenden (oder?)
So wie's aussieht, ist das kein PHP-Skript, sondern ein PNG. Wie man solche PNGs, die bei jedem Aufruf was anderes anzeigen, erstellt, weiß ich nicht.
...
Kann man nicht. Wahrscheinlich hat NPC einfach einen Ordner namens "dateiname.png" erstellt und da die index.php reingetan, die das Bild zurückgibt. Das ist ein recht bekannter Trick, um dynamiche Bilder in Foren zu verwenden, die nur bestimmte Dateiendungen in der Sig/dem Ava erlauben.
Es ist übrigens problemlos möglich, verschiedene Quellformate zu verwenden, aber etwas aufwendig. Man muß das Quellbild erst auslesen und dann als neues Bild ausgeben.
Man kann beliebige Bilder laden, indem man folgende Funktion verwendet:
Das gesamte Skript könnte dann so aussehen:
Oder, kürzer:
Sicher doch. Sieh' dich mal auf php.net bei den Dateifunktionen um; wenn ich zuhause bin werde ich selbst mal suchen.
Du mußt dir im Wesentlichen alle Dateien geben lassen, per Zufallsvariable eine auswählen und die dann zurückgeben. Wenn man raushat, wie man sich alle Dateien besorgt, ist das einfach.