echo $begrüßung;
Dein Skript funktionierte einwandfrei (nach dem ich erstmals ewig probieren musste, wie ich die Pfade anzugeben hatte) solange... man JavaScript deaktiviert hatte. Mit JavaScript wollte die Galerie-Funktion nicht, weil Dein Skript andere Pfade generierte als die, die das JavaScript erwartet:
Die Pfade in der Perl-Galerie sehen so aus:
<a href="/z_testdir/scripts/perl/gallery2.pl?path=/roadster/urlaub_2004/1230_warten1.jpg">
während die von Deinem Skript so aussahen:
<a href="/z_testdir/scripts/php/gallery.php?path=urlaub_2004/1230_warten1.jpg">
Das liegt aber an der Pfad-Einstellung. Wenn du kein Basisverzeichnis hast, in dem alle Galerien zu liegen kommen oder dies eins ist, das nicht exklusiv für die Galerien gedacht ist, dann kann man die Pfadangabe im URL-Parameter nicht so leicht dagagen prüfen. Stattdessen müsste man eine Prüfung der erlaubten Galerie-Verzeichnisse einfügen.
Wenn der Pfad insgesamt so aussieht /roadster/urlaub_2004/... in echt /z_testdir/scripts/php/roadster/urlaub_2004/... ergibt, kann man durch Angabe von / als Pfad das Scriptverzeichnis auslesen. Viel kann nicht passieren, weil mein Script eh nur nach Bildern Ausschau hält ...
[...] als PHP-Laie, der erstmal suchen mußte, was trim(), rtrim(), und was weiß ich noch was für seltsame PHP-Funktionen wie und was machen,
Hmm, Javascript hat kein trim(), aber dass Perl auch keins hat wundert mich. Zumindest weiß Selfhtml nichts von trim(). Allerdings verwende ich die trim()s mit einem weniger bekannten zweiten Parameter, mit dem man auch andere Zeichen als die üblichen Whitespace wegtrimmen kann. Das Getrimme soll dafür sorgen, dass bei allen Schreibweisen am Ende eine korrekte Anzahl von / im Pfad vorkommen.
Aber zunächst... das Skript in Deinem zweiten Posting dient nur dazu, die Thumbnails automatisch generieren zu lassen, ja? [...] Sehen wir das als Zugabe, ja?
Gut, dann war das quasi überflüssig, es zu erstellen.
Diese DOCUMENT_ROOT-Abfrage und das Definieren der gleichnamigen Konstante zu Beginn des Skripts »common.php« ist wofür? Die Konstante wird nämlich nicht mehr gebraucht (taucht nirgends mehr auf).
Ihr Anwendungsfall ist mir beim Umgestalten während des Entwurfprozesses entschwunden. Die Erstellerei kann damit auch entfallen.
Das mit den Verzeichnissen hatte ich mir so gedacht:
GALLERY_BASE_DIRECTORY zeigt auf das Basisverzeichnis aller Galerien. In meinem Fall war das "galleries", also relativ zum Scriptverzeichnis und übersetzt in dein Pfadsystem wäre das /z_testdir/scripts/perl/galleries. Für die Galerie "roadster/urlaub_2004" ergäbe sich damit dieser absolute Pfad: /z_testdir/scripts/perl/galleries/roadster/urlaub_2004. Du hättest eigentlich nur 'galleries' durch '' austauschen müssen. Und wenn du den führenden / für das Javascript-Script brauchst, dann müsste noch ein / zwischen = und %s in der Zeile $href = sprintf('%s?%s=%s', ... in der Funktion createHtmlFromTemplate() eingefügt werden müssen.
Der führende / hat jedenfalls keine Bedeutung. Ob er nun da ist oder nicht ... die Galerie(n) befinden sich immer im gleichen Verzeichnis und der Weg muss mit oder ohne / stets der gleiche sein. Deswegen hab ich ihn nicht mit ausgegeben.
Auch musste ich eine Konstante DIR_PATH definieren, um mal damit konkatenieren oder mal substringen zu können.
DIR_PATH ist nicht gerade ein sprechender Bezeichner. Mit dem Namen kann das ein Pfad zu jedem möglichen Verzeichnis sein.
Noch einen Pfadbestandteil würde ich allerdings nicht einführen wollen. Notwendige Anpassungen sollte eher in der createHtmlFromTemplate() erfolgen
Ist sicher nicht das gelbe von Ei [1], so aber erhalte ich die Thumbsverlinkungen und Bild-Referenzierung im DIV »show« so, wie ich sie haben will.
Für "show" ist $templateVars (ebenfalls in createHtmlFromTemplate()) zuständig.
Also an dieser Stelle erneut vielen Dank für das Skript! Dass ich solange gebraucht habe, die paar Änderungen einzubauen, hat damit zu tun, dass ich in der common.php mit diesen ganzen Pfadangaben und -manipulationen nicht durchgeblickt habe, und mir alles mittels echo ausgeben lassen musste.
Dabei hab ich doch extra jeweils ein Beispiel darunter geschrieben, was aus dem Pfad werden soll.
echo "$verabschiedung $name";