phpPhotoPortfolio
Einleitung
Heutzutage hat bereits fast jeder eine Digitalkamera, so auch bei uns in der Familie.
Und mit der Zeit werden die Fotos immer mehr. Um die Übersicht nicht zu verlieren habe
ich auf unserem Server zu Hause eine Freigabe eingerichtet, auf die jeder seine Fotos
aufspielen kann. Betrachtet wurden die Bilder dann mit Hilfe von
ACDSee
(ein sehr angenehm zu bedienendes Bildbetrachtungsprogramm).
Irgendwann entstand dann die Notwendigkeit manche Fotos auch Freunden (die nicht auf
unser internes Netzwerk Zugriff haben) zugänglich zu machen. Darum habe ich mich dazu
entschlossen eine internetbasierte Lösung zum Betrachten, Downloaden und Bestellen von
echten Abzügen zu realisieren.
Dabei sollte das Hauptaugenmerk auf einer sehr einfachen Bedienung liegen, die es auch
meiner Mutter erlaubt selbstständig Abzüge zu bestellen.
Konfiguration
Eine zwingende Authentifizierung des Benutzers verhindert den Zugriff von
Unberechtigten auf den Inhalt des Albums. Weiters können für jeden Benutzer
eigene Pfade freigegeben werden ($PHP2_USER_ALLOWED_PATH[]), und auch das direkte Bestellen von Abzügen
(über ein Formular) ist nur für spezielle Benutzer erlaubt ($PHP2_USER_PRIVATE[]).
Auszug aus config.inc
//-------------------------------------------------- //user administration: $PHP2_USER[] = "demo"; $PHP2_USER_PASSWORD[] = "123"; $PHP2_USER_ALLOWED_PATH[] = "*"; $PHP2_USER_PRIVATE[] = 1; $PHP2_USER[] = "friend"; $PHP2_USER_PASSWORD[] = "test"; $PHP2_USER_ALLOWED_PATH[] = "Natur:Allerlei"; $PHP2_USER_PRIVATE[] = 0;
Weiters ist es möglich die Größe der Thumbnails festzulegen ($PHP2_THUMBNAIL_SIZE) und anzugeben
wie die Thumbnails, bzw. auch die Bilder, in ihrer Größe verändert werden sollen
($PHP2_THUMBNAIL_RESAMPLE, $PHP2_IMAGE_RESAMPLE).
Mit Hilfe der Variable $PHP2_SAMBA_SHARE kann angegeben werden, auf welcher Samba/Windows-Freigabe
sich die Bilder befinden. Wenn sich ein Benutzer aus dem internen Netz (192.168.0.0/255.255.0.0)
anmeldet, wird auf jeder Seite der entsprechende Link zu den momentan angezeigten Fotos am Server angezeigt.
Um das Erscheinungsbild von phpPhotoPortfolio leicht ändern und wechseln zu können, ist es möglich über
$PHP2_STYLE den Pfad zu neuen Stylesheets und Symbolen anzugeben.
Damit das Durchblättern im Betrachtungsmodus nicht durch das Laden der einzelnen Bilder zu einer
einzigen Warterei wird, werden einige Bilder bereits im Voraus geladen ($PHP2_PRELOAD_COUNT). Im
Internetexplorer kann immer nur ein Bild voraus geladen werden, da sonst ein Javascript stack-overflow Fehler
auftritt.
Auszug aus config.inc
//--------------------------------------------------
//php2 configuration
//absolute path to images
$PHP2_IMAGE_ROOT = "/var/www/php2/images";
$PHP2_SAMBA_SHARE = "\\\\fileserver\\Fotos";
$PHP2_TEMP_ROOT = "temp/"; //has to be under working-dir
$PHP2_THUMBNAIL_SIZE = 110;
$PHP2_PRELOAD_COUNT = 1; //ie can't cache more than
if ($_SESSION['is_ie'] != 1) //one picture -> Java stack-overflow
$PHP2_PRELOAD_COUNT = 10; //
$PHP2_THUMBNAIL_RESAMPLE = 1; //resample or resize the thumbnails
$PHP2_IMAGE_RESAMPLE = 0; //resample or resize the images
$PHP2_STYLE = "White"
Kompatibilität
phpPhotoPortfolio verwendet Javascript, Cookies und CSS und wurde mit folgenden Browsern erfolgreich getestet:
- Internet Explorer 6.0 (kein liquid-Design)
- Mozilla Firefox 1.0.6 bis 1.5 Beta 1
- Konqueror 3.3
- Opera 8.01 bis 8.5
Der Internet Explorer bietet die Möglichkeit Popup-Fenster über die ganze Bildschirmgröße
anzeigen zu können (ohne Task-, Titel-, Statusleiste usw. -> siehe Registry-Tweaks).
Das ausgewählte Bild wird dann bildschirmfüllend angezeigt. Andererseits weist der IE
einige Schwächen auf (fehlende HTML4.0-Tags, keine CSS2-Unterstützung usw.), die es nicht erlauben
das gewählte Design 'liquid' (dh. automatisch der Fenstergröße anpassend) zu gestalten.
Demo
Natürlich gibt es auch eine öffentliche Demo
um phpPhotoPortfolio selbst zu testen.
Benutzname: demo
Kennwort: demo