ubuntuusers.de

Gallerie erstellen

Status: Gelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

weau

Avatar von weau

Anmeldungsdatum:
22. Januar 2006

Beiträge: 99

Hallo Ubuntuusers,
ich habe ca. 500 - 1000 Bilder bei mir auf einem Server und möchte von diesem Verzeichnis aus gerne eine Gallerie erstellen.
Es kommen immer wieder Aktuelle Bilder in dieses Verzeichnis.
Jetzt habe ich keine direkte Idee, wie ich das Ganze angehen soll.

Ich könnte alle Dateien in diesem Ordner in eine MySQL-Datenbank schreiben und dann mit SELECT auslesen.
Nachteil : Viele Bilder, hoher Traffic , langsamere Anwendung
Vorteil : Kommentar Funktion , Bildervoting

Ich könnte aber auch alle Dateien mit einem Bashscript in 1.jpg, 2.jpg usw. umbenennen und einfach ein PHPscript schreiben , dass eine Gallerie nach diesem Schema mit einer for-Schleife oder so erstellt.

Meine Frage, gibt es noch irgendeine andere effizente Möglichkeiten mein Problem zu realisieren?

toddy Team-Icon

Ikhayateam
Avatar von toddy

Anmeldungsdatum:
31. Juli 2007

Beiträge: 9521

Wohnort: Lüneburg

weau hat geschrieben:

Ich könnte alle Dateien in diesem Ordner in eine MySQL-Datenbank schreiben und dann mit SELECT auslesen.
Nachteil : Viele Bilder, hoher Traffic , langsamere Anwendung
Vorteil : Kommentar Funktion , Bildervoting

Hallo,

nein das Bild willst Du nicht wirklich in eine MySQL Datenbank schreiben. Eher den Pfad, wo das Bild liegt.

Ich glaube, dass es noch wichtig ist, was die Nutzer Deine Anwendung möchten. Wenn sie schnell bestimmte Bilder finden möchten, dann ist es vielleicht sinnvoll eine Suchmöglichkeit zu realisieren.

Bei der Umbenennung könnten ja vielelicht auch wichtige Daten verloren gehen. Vielleicht ist es hier sinnvoll in den Dateinamen das Entstehungsdatum unterzubringen?

Gruß
Torsten

weau

(Themenstarter)
Avatar von weau

Anmeldungsdatum:
22. Januar 2006

Beiträge: 99

Der Pfad logisch, hatte mich falsch ausgedrückt.
Eigentlich geht es nur darum möglichst simpel eine Gallerie zu erstellen. An eine Suchfunktion habe ich eigentlich primär garnicht gedacht.
Die Gallerie habe ich auch in ein paar Stunden programmiert, das sollte alles kein Problem sein.

Es geht mir eigentlich nur primär um die Speicherung der Bilder.
Sinnvolle Dateinamen wie mit dem Entstehungsdatum sind dabei sicherlich eine Hilfe.

Am liebsten würde ich ein kleines Bashscript über den Ordner laufen lassen, dass mit RENAME die Bilder sinnvoll benennt, wobei folgende Formate im Ordner vorhanden sind. ( jpg, jpeg, gif, png )
Vielleicht hat irgendwer einen kleinen Codeschnipsel für mich.

Anschließend möchte ich die Dateinamen bzw den Pfad in MySQL importieren. Wie mach ich das am besten? Den Ordnerinhalt in eine *cvs speichern und mit PhpMyAdmin importieren halte ich nicht für eine sehr elegante Lösung.
Oder sollte ich das Ganze in eine Textdatei schreiben? Es kommen wie gesagt immer wieder neue Dateien hinzu, die quasi den selben Dateinamen haben müssen und anschließend dann wieder in MySQL importiert werden müssten.
Sprich per Cronjob müsste eine RENAME Script laufen, welches gleichzeitig noch einen import vornimmt.

LG

Edit : Soweit habe ich mit PHP alle Bilder in eine Gallerie gefasst.

ThomasKl

Avatar von ThomasKl

Anmeldungsdatum:
14. Februar 2006

Beiträge: 127

Wohnort: Mainz

weau hat geschrieben:

Ich könnte alle Dateien in diesem Ordner in eine MySQL-Datenbank schreiben und dann mit SELECT auslesen.
Nachteil : Viele Bilder, hoher Traffic , langsamere Anwendung
Vorteil : Kommentar Funktion , Bildervoting

Die Nachteile sind eigentlich keine, da der Traffic ja durch die Bilder und nicht durch die DB entsteht.
Für eine Gallery musst du noch Thumbnails (kleine Vorschaubilder erstellen) geht z.B. mit Imagemagick.

Falls du nur eine einfache Gallery haben möchtest, also keine zusätzlichen Daten zu den Bildern speichern willst.
Würde ich eine einfache HTML-Seite mit ein bisschen JavaScript nehmen.

1. Thumbnails erstellen

$ mkdir thumbs/
$ cp * thumbs/
$ mogrify -thumbnail "150x" thumbs/*


2. JavaSript Array mit den Dateinamen erstellen und in seperater Datei speichern.

$ ls * | sed -r "s/(.*)/bilder\.push\('\1'\)/" >alleBilder.js


3. HTML Datei erstellen z.B miniGal.html im gleichen Verzeichnis wie die Bilder.

<html>
<head>

<script language="JavaScript">
function show(i){
i=i<0?0:i>bilder.length?bilder.length:i;
document.getElementById("bild").src=bilder[i];
var anz =5;
var thum ="";
var start=i<anz/2?0:i>bilder.length-anz/2?bilder.length-anz:i-anz/2;
start = Math.ceil(start);
for(j=0;j<anz;j++)
   thum += "<img border=3 src='thumbs/"+bilder[start+j]+"' onclick='show("+(start+j)+")'>";
}
bilder = new Array();
</script>
<script src="alleBilder.js" language="JavaScript">
</script>

</head><body onLoad="show(0)"><center><div id="thumbs" style="background-color:#dddddd;vertical-align:center"></div><br><img id="bild" src="" /></center>
</body>
</html>

4. die HTML Datei mit mit einem Browser anschauen

firefox miniGal.html

So ungefähr ☺

aasche

Anmeldungsdatum:
30. Januar 2006

Beiträge: 14259

Vielleicht ist Easy Ajax Album fuer Dich interessant? Loest zwar nicht das Problem mit dem automatischen Umbenennen neuer Bilder, aber vorhandene Bilder sind sofort praesentationsfaehig - wenn man den Online-Zugriff so bezeichnen moechte...

Antworten |