[THEORIE] Bildergalerie für Daus

pflaume

Mitglied
Hi!

Ich bin grade dabei für einen Fotografen, der keine Ahnung von Computern hat, eine dynamische Bildergalerie in PHP zu erstellen.

Also was ich brauche ist eine sehr sehr einfach zu bedienende Bildergalerie, wobei ich das ganze mit ein paar netten Features wie einen Hit-Counter pro Bild, eine Kommentarfunktion pro Bild, etc. gestallten will.

Was ich möchte ist folgendes:
Der Herr Fotograf muss blos nur eine bestimmte Administrationsseite betreten, dort eine Kategorie auswählen bzw. erstellen und dann den Pfad des Bilderordners auf seiner Festplatte angeben.

Nun soll das PHP Script alle Bilder vom angegebenen Ordner auf den FTP laden, jedes dieser Bilder von der Bildgröße her auf ein bestimmtes Maximum reduzieren (zB max. 800x600), sowie über eine "crop" funktion einheitliche Thumbnails erstellen (zB alle 100x100), welche niedrige Qualität haben.

Eigentlich würde das dann ja sogar ohne Datenbank laufen können, da ich ein Script erstellen könnte, welche dann einfach jeden Foto-Ordner aufm Ftp als Kategorie betrachtet und die Bilder(/thumbs) der reihe nach auflistet.
Nur leider wird das nicht klappen ohne Datenbank, da ja Funktionen wie "Kommentare/Counter/etc" vorhanden sein sollen.

Nun meine Frage(n):
wie würded ihr da am besten rangehen?
Was würdet ihr alles in der Datenbank speichern? und wie würdet ihr die ganze Geschichte am besten strukturieren?
Zu beachten ist auch, das ggf. Bilder "löschbar" sein müssen...

Wäre herzlich dankbar für jegliche Anregunnge,
mit freundlichen Grüßen,
Pflaume
 
pflaume hat gesagt.:
Der Herr Fotograf muss blos nur eine bestimmte Administrationsseite betreten, dort eine Kategorie auswählen bzw. erstellen und dann den Pfad des Bilderordners auf seiner Festplatte angeben.

Nun soll das PHP Script alle Bilder vom angegebenen Ordner auf den FTP laden
PHP kann nicht auf die lokalen Ordnerinhalte eines Users zugreifen.
Der Herr Fotograf wird die Bilder einzeln auswählen und hochladen müssen. Alternativ kannst ihm beibringen, ein Zip-Archiv zu erstellen, welches er hochladen kann und Du auf dem Server ausliest.
Eine Alternative für Dein beschriebenes Vorhaben wäre ein signiertes ActiveX oder Java-Applet.

pflaume hat gesagt.:
jedes dieser Bilder von der Bildgröße her auf ein bestimmtes Maximum reduzieren (zB max. 800x600), sowie über eine "crop" funktion einheitliche Thumbnails erstellen (zB alle 100x100), welche niedrige Qualität haben.
Das lässt sich über die Grafikfunktionen von PHP lösen. Allerdings ist es qualitativ oft besser und auch wegen der hochzuladenden Dateigröße zu bevorzugen, wenn der Herr Fotograf die Bilder bereits auf seinem Rechner verkleinert.

pflaume hat gesagt.:
wie würded ihr da am besten rangehen?
Ich würde dem Herrn Fotograf zumindest grundlegende PC-Kenntnisse bezüglich Bildverarbeitung vermitteln.

pflaume hat gesagt.:
Was würdet ihr alles in der Datenbank speichern?
Alles außer den Bilddaten, also der Bilddatei und der Thumbnaildatei selbst.

pflaume hat gesagt.:
und wie würdet ihr die ganze Geschichte am besten strukturieren?
Eine Tabelle Kategorien, mit ID und Kategoriename, eine Tabelle Bilder, mit ID, Bildpfad, Thumbnailpfad, KategorieID und Counter und eine Tabelle Kommentare mit ID, BildID und den nötigen Feldern, die zu einem Kommentar gespeichert werden sollen. Ggf. kann die Kategorie-Tabelle auch eine ParentID enthalten, um Unterkategorien zu ermöglichen.

pflaume hat gesagt.:
Zu beachten ist auch, das ggf. Bilder "löschbar" sein müssen...
Das sollte ja nun kein größeres Problem darstellen.

Gruß hpvw
 
hi,
erstmal vielen dank das du so genau auf meinen post eingegangen bist :)

ähm, also was du meintest ist, das sich ein ordner per upload-funktion nicht hochladen lässt?
hmm.. verstehe, hab das garnicht bedacht :-(
naja, ich denke dann werd ich ihm beibringen müssen, wie er so nen Bilder-ordner auf den ftp lädt. Und eine PHP-FTP anwendung wäre aufwendig/schwierig? - Hab sowas noch nie gemacht.. Oder wie wäre es, wenn die loaklen bilder des fotografen bestimmte Dateinamen haben müssen (zB bilder000X etc.), sodass man nurnoch eine "spanne" (zB 1-150) angeben muss?

wegen dem saklieren der thumbs: da gibt es doch so ne nette funktion in der GD-Lib, mit der sich die Qualität der jpgs bestimmen lässt, wäre das nicht i.O.?

Eine Tabelle Kategorien, mit ID und Kategoriename, eine Tabelle Bilder, mit ID, Bildpfad, Thumbnailpfad, KategorieID und Counter und eine Tabelle Kommentare mit ID, BildID und den nötigen Feldern, die zu einem Kommentar gespeichert werden sollen. Ggf. kann die Kategorie-Tabelle auch eine ParentID enthalten, um Unterkategorien zu ermöglichen.
jupp, das ist gut, danke!
nochwas: durch welche a.u.w. sollen deiner meinung nach die bilder dann in die datenbank geschrieben werden, wenn sie auf dem FTP sind?
Ein Extra-Formular, wo man den Ordner aufm Ftp + Kategorie angibt?

danke,
pflaume
 
pflaume hat gesagt.:
Oder wie wäre es, wenn die loaklen bilder des fotografen bestimmte Dateinamen haben müssen (zB bilder000X etc.), sodass man nurnoch eine "spanne" (zB 1-150) angeben muss?
Hilft nicht, auch dann kann Dein Server nicht darauf zugreifen.

pflaume hat gesagt.:
wegen dem saklieren der thumbs: da gibt es doch so ne nette funktion in der GD-Lib, mit der sich die Qualität der jpgs bestimmen lässt, wäre das nicht i.O.?
Damit kannst Du durchaus Deine Thumbs machen, beim Verkleinern der Originalbilder auf "Internetgröße" mit der GD-Lib gibt es jedoch zwei Probleme:
Die Bilder aus einer guten Digitalkamera (wovon ich bei einem Fotografen einfach mal ausgehe) haben mindestens 3 MB. Da könntest Du schnell an die Grenzen stoßen, die der Server PHP auferlegt. Mit der Qualität meine ich auch nicht die JPEG-Qualität der gespeicherten Bilder, sondern die Qualität beim Verkleinern. Da haben IMHO die gängigen Grafikprogramme die Nase vorn.

pflaume hat gesagt.:
nochwas: durch welche a.u.w. sollen deiner meinung nach die bilder dann in die datenbank geschrieben werden, wenn sie auf dem FTP sind?
Ich weiß zwar nicht, was "a.u.w." heißt, aber in die Datenbank würde ich Pfad und Dateiname des Bilds speichern, unter dem das Bild auf dem Server zu finden ist.

pflaume hat gesagt.:
Ein Extra-Formular, wo man den Ordner aufm Ftp + Kategorie angibt?
Versteh' ich nicht, kannst Du das mal ein bisschen ausführen.

Gruß hpvw
 
Na da ich eben an sowas selber rumschreibe kann ich dir ja sagen wie ich das nun gehandhabt habe.
Die komplette Administration behinhaltet , Erstellen von Ordnern , Löschen von einzelen Bildern , Löschen von Ordnern mit gesammten Inhalt und Bilder upload noch.

Bisher hab ich alles ohne Datenbanken gemacht , also hab ich da nur das normale Filesystem ausgebeutet da sind auch allerdings keine Kommentare bei oder Votes. Da geht es auch nur um die Datein an sich.

Vorschau Bilder habe ich momentan nur als <img src""> wo sie einfach auf eine Bildgrösse von 100 x 100 pixel gedrückt werden.

Kommetare sind bei mir nun nicht vorhanden , aber wenn du noch Kommentare einfügen willst musst schon beim uploaden des Bildes die Daten des Bildes zumindest den Namen/ Pfad in die Datenbank legen damit du später nochmal Zugriff darauf hast.

Also nur für die reinen Bilder / Ordner brauchst keine Datenbank erst dann wenn du extras wie "Titel des Bildes" , Kommentare und Voting reinmachen willst aber selbst dann würde es mir in der Administration reichen das Bild in der Datenbank hinzuzufügen eigentlich.

Hier nochmal meine momentane Galerie
http://www.ffa4dow.de/Galerie/admin.php
nur Adminstration ) mit User : Demo pass : demo einloggen dann.
 
Zuletzt bearbeitet:
boah, ersma danke @ FlipsTheTief
echt nett von dir, das man da reinschauen darf. Verstehe jetzt was du meinst.

@ hpvw:
aber wie funktioniert das denn eigentlich?
wenn ich ein html-upload formular habe, wird dann lediglich der pfad oder etwar die ganze datei (glaub ich ja wohl kaum) an die php gesendet?
und wenns der pfad ist, dann wird das wohl durch ne variable passieren, und die wird mann wohl eigentlich ändern können, oda? :confused:

mit a.u.w. meinte ich "Art und weise" ;)
also ich meinte: wann sollen die daten in die datenbank geschrieben werden..
hat sich aber schon erledigt eigentlich, werd das dann wohl nach dem dateiupload machen..
stand etwas aufm schlauch

vielen dank hpvw
 
Du erhältst:
  • den Dateinamen
  • den Mime-Type
  • die Dateigröße
  • die Daten der hochgeladenen Datei in einer temporären Datei und den Namen dieser temporären Datei
  • ggf. eine Fehlermeldung
Du erhältst nicht den Pfad, unter dem die Datei auf dem Clientrechner gespeichert war.

Siehe auch "Dateiuploads mit POST".

Gruß hpvw
 
Zurück