automatisches Auslesen von Ordnern und darstellen als Links
Dommy
- php
0 Janosch0 Thomas Luethi0 Dommy0 Thomas Luethi0 dommy0 Thomas Luethi0 Dommy
Hallo allerseits,
ich hoffe mal, dass der Titel schon einigermaßen selbsterklärend ist :-)
Hobbymäßig gestalte ich Covers, Labels etc. zu Fernsehserien und Filmen. Nun möchte ich meine Werke nicht mehr nur noch über FTP ein paar Kollegen und Freunden anbieten, sondern auch der breiten Masse zugänglich machen und zwar mittels einer WebSite.
Da ich die Covers jeweils nach Anfangsbuchstabe und dann nach Titel geordnet habe würde ich gerne eine php-Site erstellen, die folgendes kann.
Zuerst sollte jeweils der Inhalt einer jeden Kategorie (zB Anfangsbuchstabe "S") als Klickbare Links untereinander dargestellt werden (also zB "Saber Rider, Street Hawk etc......).
Klickt man nun auf einen Link (zB Saber Rider) soll man zu einer Seite kommen, die jeweils Thumbnails der beinhalteten Bilder anzeigt und zwar in einer Tabelle mit einer festen Spaltenzahl von 3 (die Zeilen können variieren) Am Seitenende jeweils ein Back-Bottom (bekomme ich allein hin).
Nun meine Fragen:
Ist es möglich mit meiner Ordnerstruktur [(1. Level: 0-9, A, B, ..., Z) (2. Level Bsp "S": Saber Rider, Street Hawk, etc.)] dieses Projekt mittels PHP möglichst dynamisch zu gestalten, dass ich die Site nicht alle paar Tage updaten muss wenn ich neue Covers hochlade ?
Die Bilder sind alle mit dem gleichen System benannt (Ordner_back.jpg, Ordner_cd.jpg, Ordner_front.jpg also zB Saber_Rider_front.jpg)! Die Bilder-Anzeige sollte man doch so leichter und dynamisch gestalten können oder? Hab aus dem folgenden Thread mal etwas in dieser gelesen [http://forum.de.selfhtml.org/archiv/2001/11/232/] und würde so etwas gerne realisieren.
Was ist die beste Möglichkeit die Thumbnails schnell und unkompliziert zu erstellen ? GD, NetPM oder andere Lösung ? Mein SiteHoster unterstützt PHP 4.3.x, MySQL, und auch GD, NetPM! Also sollten die jewieligen Anforderungen kein Problem sein.
Wäre supi, wenn ihr mir da irgendwie helfen könnten und mal zumindest mit der Navigation helfen könntet!
Schau Dir mal http://www.4homepages.de an. ist nicht ganz das was du suchst aber damit lassen sich aufwendige Bilddatenbanken mit ordnerstrukturen generieren. feine sache.
jan
Schau Dir mal http://www.4homepages.de an. ist nicht ganz das was du suchst aber damit lassen sich aufwendige Bilddatenbanken mit ordnerstrukturen generieren. feine sache.
jan
Die Gallery ist ja wirklich fein und echt ok. Hab sie selber mal getestet und weiss auch, dass sie vor nicht all zu langer Zeit die Grundlage für eine sehr großer Cover-Site war, aber sie ist echt nicht dass was ich suche. Zwar ist eine Datenbank-Lösung etwas feines, aber für meine Zwecke wohl etwas überdimensioniert. Ich will ja keine Beschreibung, Details etc angeben, sondern lediglich die Covers anzeigen lassen und dass eben in der genannten Hierarchie.
Zudem möchte ich keine User-Verwaltung drinnen haben, es reicht wenn ich der einzige bin, der die Covers hochlädt und somit Zugriff auf den FTP-Server hat, so habe ich wenigstens unter Kontrolle was da drauf liegt (obwohl man das mit der 4u gallery auch beschränken kann)!
Trotzdem danke für den Hinweis
ok, ordner auslesen geht mit php. schau dir mal htmlarea 3.0 beta an. darin befindet sich ein image-editor, der listet alle bilder eines ordners. sortieren kannst du ja dann selbst (kategorie...).
http://www.interactivetools.com/products/htmlarea/reviews.html
Hallo,
Ist es möglich mit meiner Ordnerstruktur [(1. Level: 0-9, A, B, ..., Z) (2. Level Bsp "S": Saber Rider, Street Hawk, etc.)] dieses Projekt mittels PHP möglichst dynamisch zu gestalten, dass ich die Site nicht alle paar Tage updaten muss wenn ich neue Covers hochlade ?
Als Grundlage koennte Dir die dclp-FAQ weiterhelfen:
"Wie kann ich den Inhalt eines Verzeichnisses
samt dem Inhalt aller Unterverzeichnisse ausgeben?"
http://www.dclp-faq.de/q/q-code-verzeichnis.html
Was ist die beste Möglichkeit die Thumbnails schnell und unkompliziert zu erstellen?
Fuer optimale Ergebnisse (Bildqualitaet und Dateigroesse)
sowie um die Ressourcen des Servers zu schonen wuerde ich
die Thumbnails eher offline erstellen (z.B. mit IrfanView)
und dann hochladen.
Die Dateien kannst Du "Saber_Rider_thumb.jpg" u.s.w. nennen.
Dateien mit "_thumb" drin werden dann vom Auflister-Skript
speziell behandelt (d.h. nicht aufgelistet).
---
Eine sehr simple, aber effiziente Alternative zu PHP
waere mod_autoindex von Apache.
Das koennte z.B. so aussehen:
http://hsi-202.bloomer.k12.wi.us/images/
Natuerlich kannst Du damit Deine Idee mit den Tabellen
nicht verwirklichen, aber da Du "sprechende" Dateinamen
verwendest koennte doch schon eine huebsch formatierte
Liste IMHO reichen...
Gruesse,
Thomas
Als Grundlage koennte Dir die dclp-FAQ weiterhelfen:
http://www.dclp-faq.de/q/q-code-verzeichnis.html
Jo, die ist schon mal gut. Habs gleich mal versucht aber da wird leider kein Verzeichnis angezeigt (habe den Code mal so übernommen)
http://dommysviertel.de/covers
Fuer optimale Ergebnisse (Bildqualitaet und Dateigroesse)
sowie um die Ressourcen des Servers zu schonen wuerde ich
die Thumbnails eher offline erstellen (z.B. mit IrfanView)
und dann hochladen.
Die Dateien kannst Du "Saber_Rider_thumb.jpg" u.s.w. nennen.
Dateien mit "_thumb" drin werden dann vom Auflister-Skript
speziell behandelt (d.h. nicht aufgelistet).
OK, manuelles Erstellen wäre noch zu verkraften, allerdings wäre mir eine andere Lösung lieber gewesen, aber wenn das zu Lasten der Quali geht, dann ok. Um die Ressourcen und um den Traffic mache ich mir allerdings noch keine Gedanken. Vielleicht käme das Problem später auf, wenn sich die Site herumspricht!
Eine sehr simple, aber effiziente Alternative zu PHP
waere mod_autoindex von Apache.
Das koennte z.B. so aussehen:
http://hsi-202.bloomer.k12.wi.us/images/
Das sieht einem FTP-Browser sehr ähnlich. Liese sich das mittels Templates noch anpassen? Sieht sonst nämlich sehr trocken aus !
Natuerlich kannst Du damit Deine Idee mit den Tabellen
nicht verwirklichen, aber da Du "sprechende" Dateinamen
verwendest koennte doch schon eine huebsch formatierte
Liste IMHO reichen...
Du das wäre super, wenn du da etwas für mich hättest!
Hallo,
Habs gleich mal versucht aber da wird leider kein Verzeichnis angezeigt (habe den Code mal so übernommen)
http://dommysviertel.de/covers
</faq/#Q-19> => http://dommysviertel.de/covers
Da wird also gar nichts aufgelistet.
Ich vermute ein Problem mit dem Pfad bzw. Verzeichnisnamen.
Was hast Du denn als Parameter fuer die Funktion angegeben?
Wo steht das Script, wo steht das Verzeichnis?
Mach mal alle @ weg, damit allfaellige Fehlermeldungen
angezeigt werden:
$handle = opendir($dir);
u.s.w.
[Thumbnails] aber wenn das zu Lasten der Quali geht, dann ok.
Es ist meine Erfahrung, dass man manche Bilder staerker,
manche weniger stark komprimieren kann (bei JPEG).
Natuerlich koenntest Du Thumbnails auch automatisch
generieren lassen, z.B. mit der Einstellung "hoechste
Qualitaet" bzw. "minimale Kompression", dann kriegst Du
wohl auch akzeptable Ergebnisse, aber eben auch entsprechend
grosse Dateien.
Ich denke einfach, es ist sinnvoller, "von Hand" fuer
jedes Bild ein eigenes Thumbnail zu machen.
Um die Ressourcen und um den Traffic mache ich mir allerdings noch keine Gedanken. Vielleicht käme das Problem später auf, wenn sich die Site herumspricht!
Also wenn schon serverseitige Thumbnail-Erzeugung, solltest
Du die generierten Thumbnails dann auf dem Server speichern,
damit sie nicht bei jedem Aufruf neu erzeugt werden muessen.
Lies auch die dclp-FAQ dazu:
Wie kann ich Bilder verkleinern?
http://www.dclp-faq.de/q/q-grafik-verkleinern.html
[mod_autoindex von Apache]
http://hsi-202.bloomer.k12.wi.us/images/Das sieht einem FTP-Browser sehr ähnlich. Liese sich das mittels Templates noch anpassen? Sieht sonst nämlich sehr trocken aus !
Ja, Du kannst eine "Kopfzeile" (Anfang eines HTML-Dokuments)
und eine "Fusszeile" (Ende eines HTML-Dokuments) erstellen,
die dann vor bzw. nach der Auflistung eingefuegt werden.
Damit lassen sich auch diese automatischen Auflistungen
optisch recht huebsch gestalten...
Sehr einfache Beispiele, die vermutlich mit dieser Methode
erzeugt wurden, sind einige Seiten von apache.org:
http://www.apache.org/dist/httpd/
http://www.apache.org/dist/httpd/binaries/win32/
u.s.w.
Genaueres siehe Apache-Manual zu mod_autoindex,
Abschnitte zu HeaderName bzw. ReadmeName:
http://httpd.apache.org/docs/mod/mod_autoindex.html (Apache 1.3)
http://httpd.apache.org/docs-2.0/mod/mod_autoindex.html (Apache 2.0)
Gruesse,
Thomas
Ich vermute ein Problem mit dem Pfad bzw. Verzeichnisnamen.
Was hast Du denn als Parameter fuer die Funktion angegeben?
Wo steht das Script, wo steht das Verzeichnis?
das Skript steht in: http://dommysviertel.de/covers
Dort liegen die auch die Ordner 0-9, A, B, ..., Z
Mach mal alle @ weg, damit allfaellige Fehlermeldungen
angezeigt werden:
$handle = opendir($dir);
u.s.w.
Wurden entfernt, sieht nun so aus [CODE]
<?PHP
function show_dir($dir, $pos=2)
{
if($pos == 2)
{
echo "<hr><pre>";
}
$handle = opendir($dir);
while ($file = readdir ($handle))
{
if (eregi("^.{1,2}$",$file))
{
continue;
}
if(is_dir($dir.$file))
{
printf ("% ".$pos."s <b>%s</b>\n", "|-", $file);
show_dir($dir.$file."/", $pos + 3);
}
else
{
printf ("% ".$pos."s %s\n", "|-", $file);
}
}
closedir($handle);
if($pos == 2)
{
echo "</pre><hr>";
}
}
show_dir("");
?>
[/CODE]
Ist doch richtig, dass ich bei show_dir(""); den Verzeichnis-Namen rausgenommen habe weil doch innerhalb dieses Verzeichnisses alle Ordner angezeigt werden sollen, oder ?
Es ist meine Erfahrung, dass man manche Bilder staerker,
manche weniger stark komprimieren kann (bei JPEG).
Natuerlich koenntest Du Thumbnails auch automatisch
generieren lassen, z.B. mit der Einstellung "hoechste
Qualitaet" bzw. "minimale Kompression", dann kriegst Du
wohl auch akzeptable Ergebnisse, aber eben auch entsprechend
grosse Dateien.
Ich denke einfach, es ist sinnvoller, "von Hand" fuer
jedes Bild ein eigenes Thumbnail zu machen.
Ist zwar anfänglich für die bereits erstellten Covers etwas mühsam aber ich werde es verkraften! Vielleicht finde ich ja noch ein Batch-Progrämmchen für Photoshop welches mir diese Arbeit abnimmt :-)
Also wenn schon serverseitige Thumbnail-Erzeugung, solltest
Du die generierten Thumbnails dann auf dem Server speichern,
damit sie nicht bei jedem Aufruf neu erzeugt werden muessen.
So wars auch gedacht !!
Hallo,
das Skript steht in: http://dommysviertel.de/covers
Bitte durch abschliessenden Slash klarmachen,
dass es sich um ein Verzeichnis handelt:
http://dommysviertel.de/covers/
Das Skript ist also vermutlich
http://dommysviertel.de/covers/index.php
Dort liegen die auch die Ordner 0-9, A, B, ..., Z
... also
http://dommysviertel.de/covers/A/
http://dommysviertel.de/covers/B/
u.s.w. ?
show_dir("");
fuehrt wohl zu der Fehlermeldung.
opendir() erwartet einen Verzeichnisnamen.
Von http://dommysviertel.de/covers/index.php aus gesehen
waere der Pfad fuer /covers/ AFAIK:
"../covers/"
Versuch's mal mit:
show_dir("../covers/");
[Thumbnails generieren] Vielleicht finde ich ja noch ein Batch-Progrämmchen für Photoshop welches mir diese Arbeit abnimmt :-)
Sonst kannst Du es auch mit IrfanView machen.
Qualitaet 60 - 80% gibt meist brauchbare Resultate fuer JPEG.
(Bei Logos u.s.w. ist vielleicht GIF oder PNG besser
geeignet als JPEG).
Gruesse,
Thomas
Das Skript ist also vermutlich
http://dommysviertel.de/covers/index.php
Korrekt :-)
Dort liegen die auch die Ordner 0-9, A, B, ..., Z
http://dommysviertel.de/covers/A/
http://dommysviertel.de/covers/B/
u.s.w. ?
Wieder korrekt!
Versuch's mal mit:
show_dir("../covers/");
Gesagt, getan! Resultat ist nun das Folgende!
<a href="http://dommysvierteld.e/covers"> http://dommysviertel.de/covers</a>
Mein Wunsch wäre nun, dass die jeweiligen Ordner auch anklickbar wären, und die darin enthaltenen Dateien in der Gesamtübersicht nicht angezeigt werden. Sprich eine Übersicht die sich auf eine Ebene beschränkt!
Prinzipiell könnte ich ja die Anfangsbuchstaben als feste Navigationsleiste (Frame) einbinden und durch Klick auf den jeweiligen Buchstaben kommt man zu obigen Skript welches alle verfügbaren Unterkategorien (in diesem Fall alle Filme mit dem jeweiligen Anfangsbuchstaben) als Hyperlink anzeigt!
Wenn da so weit realisiert wäre würde ich dann mal das Problem der Thumbnails in Angriff nehmen!
Jetzt schon mal 1000 Dank für deine bisherige Unterstützung und Ratschläge!
Hallo,
<a href="http://dommysvierteld.e/covers"> http://dommysviertel.de/covers</a>
Du meinst: http://dommysviertel.de/covers/
Bitte lies endlich die FAQ. Danke.
Mein Wunsch wäre nun, dass die jeweiligen Ordner auch anklickbar wären, und die darin enthaltenen Dateien in der Gesamtübersicht nicht angezeigt werden. Sprich eine Übersicht die sich auf eine Ebene beschränkt!
Ich hatte Dir dieses Skript als Ausgangspunkt vorgeschlagen.
Versuch, es zu begreifen, dann kannst Du es auch
fuer Deine Beduerfnisse anpassen.
Um nur eine Ebene anzuzeigen, lass den rekursiven
Aufruf der Funktion show_dir innerhalb der Schleife weg:
show_dir($dir.$file."/", $pos + 3);
Prinzipiell könnte ich ja die Anfangsbuchstaben als feste Navigationsleiste (Frame) einbinden und durch Klick auf den jeweiligen Buchstaben kommt man zu obigen Skript welches alle verfügbaren Unterkategorien (in diesem Fall alle Filme mit dem jeweiligen Anfangsbuchstaben) als Hyperlink anzeigt!
Frames sind hier IMHO voellig ueberfluessig.
Obwohl sie fuer einmal nicht extrem stoerend
waeren, waeren sie dennoch ueberfluessig.
Den Rest der Idee finde ich OK.
Du koenntest ein Skript fuer alles verwenden:
Achte auf die Sicherheit - lass Dir nicht einen beliebigen
Pfad unterjubeln, sondern nur die erlaubten Pfade.
Entferne z.B. saemtliche Slashes ("/") und Backslashes ("")
aus dem uebergebenen Pfad. Lies die dclp-FAQ
http://www.dclp-faq.de/q/q-security-variablen.html
und die andern Seiten zum Thema "Sicherheit".
Gruesse,
Thomas