Pixlie Addon – Zufallsbilder für die eigene Homepage
Das mir die Pixlie-Bildergalerie sehr gut gefällt ist ja kein Geheimnis mehr. Das habe ich ja schon einmal geschrieben.
Leider fehlen aber ein paar kleine Gimmicks, aber das sollte ja kein großes Problem sein. Ich hatte mir schon immer ein kleines Modul gewünscht, dass mir ein paar Vorschaubilder per Zufallsgenerator auf die Startseite stellt.
Aber wie soll man das anstellen? Pixlie liest ja schließlich nur Verzeichnisse auf dem Webspace ein.
Es gibt keine Datenbank in der alle Bilder gelistet sind, wie also soll man an Zufallsbilder gelangen?
Die Lösung liegt im so genannten „/cache“ Verzeichnis von Pixlie. Dort liegen alle Bilder die schon einmal geschaut worden. Durch diese Technik spart das Skript Zeit, da die Vorschaubilder nicht bei jedem Anschaun generiert werden müssen.
1. Schritt:
Und genau da setzt mein Modul ein. *g* Ich lese einfach mit dem PHP Befehl „glob(“./cache/tn_*”)“ alle Bilder im „./cache/“ Verzeichnis ein, die mit „tn_“ beginnen. Das sind nämlich Thumbnails, also die kleinen Vorschaubilder.
Jetzt muss ich mir nur noch per Zufall drei dieser Bilder aussuchen und diese anzeigen.
Fertig sind die Zufallsbildchen.
2. Schritt:
Bilder alleine sind natürlich stinklangweilig. Natürlich sollte man per Klick auf das Bild auch auf die zugehörige Gallerie kommen. Hierbei kommt einem wieder Pixlie mit seinem hervorragenden Sortiersystem entgegen. Alle kleinen Bilder im „./cache/“ Verzeichnis heißen nämlich:
tn_[ORDNER]_[DATEINAME].jpg
zum Beispiel:
tn_[2007.09.24] Wiesn_CIMG1799.JPG
Löscht man nun einfach das „tn_“ vorne, und alle nach dem letzten „_“ bleibt nur noch der Ordnername übrig, in dem die Bilder liegen. In diesem Fall wäre das
[2007.09.24] Wiesn
Diesen Namen muss man jetzt nur noch an folgenden Link anhängen:
pixlie.php?action=showgallery&pfad=
In dem Fall also
pixlie.php?action=showgallery&pfad=%5B2007.09.24%5D+Wiesn
Und fertig =)
3. Ausgeben
Das ist natürlich jetzt einfach. Man muss nur noch per IMG Befehl das Bild ausgeben und darum einen A Link machen. Das sollte kein Problem sein.
Fertig sieht das Skript dann so aus:
<?php
$filename=glob(“./cache/tn_*”);
srand(microtime()*1000000);
$zufallszahl = rand(1,sizeof($filename));$link=str_replace(substr($filename[$zufallszahl],strrpos($filename[$zufallszahl],”_”)),””,substr($filename[$zufallszahl], 11))
?>
<a href=”http://funnys-home.de/conny/galerie.php?action=showgallery&pfad=<?php echo $link;?>” target=”_parent”><img src=”<?php echo $filename[$zufallszahl];?>” border=”0″></a>
<br/>
<center>
<font size=”1″ face=”arial”>
<?php echo $link;?>
</font>
</center>