Silke Schümann wrote this 19:39:
Peut a peut wird PHP selbstverständlich und erleichtert die Arbeit. Statt lange Listen mit mit Vorschauthumbs und Großansichten zu schreiben, kann man derlei Routinen bequem mit ein wenig PHP abkürzen. Auch beginnt eine Sammlung von kleine Skripten sich in die Arbeit einstellen, wie, z.B. die Funktion callError. Ist der Entwurf fertig, wird nun gemäß einer einfachen Konvention abgespreichert und eine Index samt der Designvorschläge in ein Verzeichnis geworfen.
Zunächst einmal werden die Seiten angelegt:
$_GET['e'] = isset($_GET['e']) ? $_GET['e'] : '0' ;
$e = preg_match("/^[0-9]+$/i", $_GET['e']) ? $_GET['e'] : callError('invalidCharacters','');
Die Seite hat eine interne Kommunikations-Funktion zwischen mir und Kunden. Die Unterseiten werden per Mausklick auf Minivorschaubilder aufgerufen. D.h. ein ausgereiftes Urldesign ist nicht nötig. Mir genügt eine fortlaufende Nummer, und diese Nummer wird gleichgesetzt mit dem Key eines Arrays. Der Array wird erzeugt, in dem alle PNG-Bilder eingelesen werden und ohne deren Erweiterung in einen Array mit Namen ‘piclist’ geschubst werden:
$piclist = array();
foreach (glob("*.png") as $filename) {
array_push($piclist, substr($filename,0,-4));
}
Mit diesen beiden Zeilen ist schon die halbe Arbeit getan. Jetzt muss nur noch an geeigneter Stelle im HMTL ein wenig PHP fallen gelassen. Z.B. für die Navigation per Vorschaubildchen:
<p class="links">
<? foreach($piclist as $key => $picname){
echo '<a href="index.php?e='.$key.'"><img src="thumb_'.$picname.'.jpg" alt="'.ucfirst($picname).'"><br />'.ucfirst($picname).'</a>';
} ?>
<br class="clear" /></p>
Nachdem ich nur den Kern des Bildnamens behalte, kann ich nun gemäß einer mit mir vereinbarten Konvention wieder in die Seite einführen, sei es als thumb_Bildname.jpg, über eine einfache PHP-Funktion, die den ersten Buchstaben groß schreibt, erhalte ich zum Thumb noch eine Dateibezeichnung, auf die man sich beziehen kann.
Fehlt nur noch die große Ansicht zum Thumb. Über die globale PHP-Variable via URL übergebe ich den Key in der eckigen Klammer. Den Link habe ich oben in der Schleife angelegt (?e=$key wird hier ausgegeben $arrayname[$key]):
<p class="preview"><img src="
<? echo $piclist[$e].'.png'; ?>" alt="<? echo ucfirst($piclist[$e]); ?>"><br /><strong><? echo ucfirst($piclist[$e]); ?>
</strong></p>
Schlicht. Einfach und effektiv hat man in Minuten eine ganze Galerie erzeugt. Natürlich war das Ergebnis heute nicht in Minuten fertig, schließlich soll es auch gut aussehen und so verbringt man mit dem CSS und dem drumherum noch ein wenig Zeit. Nichts desto trotz. Einmal erstellt, wird diese Seite nun ein kleiner Dauerbrenner in der Auftragsbesprechung per Mail und Telefon. Sicherlich wird noch die eine oder andere Sache ergänzt. z.B. eine Shoutbox oder ein Mailformular, oder auch eine Kommentarfunktion zu den Bildern, so dass die Seite noch stärker ein Auftragsbesprechungsmodul wird. Für’s erste freue ich mich, dass ich für diese kleinen Skripte nicht mehr nachdenken muss.
PS: da über die Url Code in eine Seite eingeschleust werden könnte, wird $_GET['e'] nicht direkt in der Ausgabe verwendet.$piclist[$_GET['e']]. als erstes durchläuft daher die Variable $_GET[ ] eine Filter, der alles verhindert, das nicht eine Zahl von 0 bis 9 ist.