fatmike182
Agnotologe
|
Hallo, bin grad uebermotiviert dabei paar Bilder online zu stellen und moechte mir eine eigene Gallery basteln. Meine Vorgangsweise ist folgende: - Fotos aus iPhoto exportieren (Format: 2008_Albumname - 001.jpg, 800x600 reicht fuer den Zweck imho) - Fotos mit Automator thumben (225x168) - per FTP in die Ordner /thumb bzw /pics hochladen.
!da ich nicht alle Fotos aus einem Album exportier sind nicht alle Fotos von 001.jpg - ...jpg vorhanden!
Da die DB sonst sehr lahm wird moechte ich die Bilder nicht als BLOB speichern sondern nur per img-tag auf den Ort verweisen. Angezeigt werden sollen 12 Bilder/Seite was bei manchen Alben 10 Seiten ausmachen wuerde.
Wie realisier ich das Anzeigen am Besten? (hab 2 Moeglichkeiten durchgedacht) 1) Bildinformationen in eine DB einlesen lassen. Geht das, dass ich sag, wenn ich den "update DB"-Button drueck, dass er alle Bildinformationen von den Bildern aus dem Ordner /thumbs in eine DB einliest? Dann kann ich eine Tabelle machen in der ich eben die Zeilen 0-11 auf der ersten Seite, 12-23 auf der zweiten usw. Nachteil: ich muss die DB manuell updaten
2) Zufallsprinzip Einfach von 001.jpg alle Bilder durchgehen und ueberpruefen obs dieses Bild ueberhaupt gibt. Daneben braeucht ich dann eine Variable die mitzaehlt wieviele Bilder bereits dargestellt wurden. Die Seitenanzahl kann ich dann wie bestimmen?
die Methode 1 gefaellt mir besser, weizs aber nicht obs umsetzbar ist. Gaebs eine bessere/ueblichere Methode? tia, Michi
|
kleinerChemiker
Here to stay
|
warum nicht einfach ein fertiges gallery skript verwenden?
|
fatmike182
Agnotologe
|
hab zwar mit einer Antwort von dir gerechnet aber nicht mit so einer ![;)](/images/smilies/wink.gif) Naja, prinzipiell isses ja nicht viel Aufwand und vor Jahren hab ich mal ein recht anstaendiges Forum selbst gebastelt, also waeren zumindest historische Skills vorhanden. Wenn ich einen Loesungsansatz fuers Reinladen haette, dann waer ich eh sichelrich bald fertig damit. (also einen der "lade alle datein im Verzeichnis thumb in die Datenbank thumbs")
|
mat
AdministratorLegends never die
|
Wenn du denkst, dass es nicht viel Aufwand ist, dann verspekulierst du dich. Sollte also nicht der Schulung deiner PHP-Fähigkeiten dienen und du nur möglichst schnell von A nach B möchtest, dann nimm eines der tausenden Gallery-Skripten.
Andernfalls solltest du, mit den Parametern, die du uns gegeben hast, so vorgehen:
1.) FTP-Upload in ein spezielles Upload-Verzeichnis (Dadurch wird ein Abgleich zwischen neuem und altem Bildmaterial hinfällig) 2.) Übernahme in die Datenbank aus dem Upload-Verzeichnis. Neben dem Update-Button sollte es auch ein Textfeld für die Auswahl eines existierende Albums bzw. eine Möglichkeit für die Erstellung eines neuen Albums geben. 3.) Die Darstellung nach Seiten sollte dann - vorrausgesetzt du hast die richtige Tabellenstruktur erstellt - eine einfache Division sein.
Wenn ich mich nicht verschätze dann sollte es nur 2 Tabellen geben: album und image
album: primary key, album title image: primary key, albumid, filename, dateline
Das ist ohne Umschweife wohl die einfachste Art soetwas zu lösen. Da ist aber keinerlei Schnick-Schnack dabei.
|
fatmike182
Agnotologe
|
nachdem keine Alben im Nachhinein ergänzt werden müssen und ich den Albumsnamen aus dem File per explode auslese würde auch ein Teil von dir erwähnten Sachen sogar wegfallen. Ich hätte glaub ich nur eine Tabelle genommen und den Albumtitel als feld in image angeführt. ist unelegant, aber ich seh kein großes Problem darin in dem Fall. Wäre eine Beschreibung beim Album dabei oder Datum o.ä. dann wäre das ein Argument für die album-Tabelle, so seh ich nicht viel Grund dafür Kannst du mir evtl ein Stichwort sagen, wie ich den Anfang von deinem 2) umsetzen kann? Einfach eine Schleife durchrennen lassen, die blind ein Verzeihnis durchsucht? aja, thx! ![;)](/images/smilies/wink.gif) edit: http://www.php4-forum.de/befehle/readdir.htm?PHPSESSID=ich versuchs mal mit readdir glaub ich
Bearbeitet von fatmike182 am 15.04.2008, 17:05
|
mat
AdministratorLegends never die
|
Ich hätte glaub ich nur eine Tabelle genommen und den Albumtitel als feld in image angeführt. ist unelegant, aber ich seh kein großes Problem darin in dem Fall. Wäre eine Beschreibung beim Album dabei oder Datum o.ä. dann wäre das ein Argument für die album-Tabelle, so seh ich nicht viel Grund dafür Hui, da fallen mir im Gegensatz sehr viel Gründe ein. Die Tabelle wird unnötigerweise total aufgeblasen. Umbenennen des Albums könnte zu einem riesigen UPDATE-Query führen. Erweiterungsfähigkeit der Alben wird auf 0 reduziert. Performance der Queries auf den image-Table sinkt grundlos. Kannst du mir evtl ein Stichwort sagen, wie ich den Anfang von deinem 2) umsetzen kann? Einfach eine Schleife durchrennen lassen, die blind ein Verzeihnis durchsucht? Da in das Upload-Verzeichnis nur neue Bilder hineinkommen und diese nach der Aufnahme in die DB verschoben werden, kannst du einfach blind alle Verzeichniseinträge auflisten lassen und bearbeiten. Ich kann mir aber nicht vorstellen, dass dieser Satz jetzt etwas beantwortet hat.
|
fatmike182
Agnotologe
|
mah - wegen dem einen bloeden Feld im image-Table machst mir jetzt wirklich ein schlechtes Gewissen...
@uploadverzeichnis & DB: schon klar, aber bin ich mit operndir & readdir (siehe edit oben) am richtigen Dampfer oder wuerdest du das einfacher machen?
|
mat
AdministratorLegends never die
|
Mit "oper" hab ich nicht viel am Hut, aber der Rest passt so.
|
fatmike182
Agnotologe
|
Bearbeitet von fatmike182 am 15.04.2008, 18:58
|
mat
AdministratorLegends never die
|
Du könntest es in deinen Usernamen einbauen lassen! "fatmiker182"
|
kleinerChemiker
Here to stay
|
mit readdir bist du schon richtig.
daß du nicht mit dieser antwort von mir gerechnet hast wundert mich etwas. ich bin nämlich generell kein freund, das rad 2x zu erfinden.
|
fatmike182
Agnotologe
|
durch Zufall beim Googeln auf das gestoszen http://jan500.org/bilder.phpsHilft mir unheimlich weiter! scandir, ... wie verweichlicht ist php in der Version 5 geworden? Naja, wenn mans weisz. Ich freu mich jedenfall drueber. @kleinerChemiker: ich vermeide solche downloadbaren CMS oder picturehosting systeme weils imho oft overkill ist & dadurch viel Ballast mitschleppt. Da hab ichs grad bei so wirklich kleinen Gschichten (wie du siehst brauch ich keine Kommentierfuntionen & kann auf AJAX-Effekte gut & gerne verzichten) lieber, dass ich alles selbst uebersichtlich beisammen hab & selbst anpassen kann. & fatmiker wird es nie geben
|
kleinerChemiker
Here to stay
|
scandir gabs aber iirc auch schon unter php4
|
fatmike182
Agnotologe
|
nope, davor war open & read lt. php.net weiters: mysql_connect soll nichtmehr verwendet werden stattdessen mysql_real_connect (This function is deprecated. Use mysql_real_connect() instead.) http://dev.mysql.com/doc/refman/5.0...ql-connect.htmlwar mir bisdato unbekannt ... tut das denn wer? Auf php.net steht nur was über mysql_connect. Hab nachgeschaut, weil ich aus irgendeinem Grund Probleme mit der errorausgabe hatte. Wo ich grad davon red: ist ein Unterschied zwischen einem angehängten "or die" statt einer extra "if(!$connect) die..." Abfrage?
|
mat
AdministratorLegends never die
|
Da ist kein Unterschied.
|