pcguy
Goto Top

Bildinfos auslesen

hallo zusammen

Ich erstelle im Moment eine Webseite mit einer kleinen Photogallery.

Ich möchte mit php das Bildverzeichniss auslesen und die Bilder als Thumbnail anzeigen.
Beim klick auf das Thumbnail => das Bild in gross in einem Modal mit Titel und Beschreibung ausgeben.
Zusätzlich eine Blätterfunktion ... also Bild vor und zurück ....

Ich glaube das sollte soweit möglich sein, was mir nicht klar ist wo ich "Titel und Beschreibung" der Bilder hinterlegen muss.
Oder kann das aus der Bilddetails ausgelesen werden?


Danke für eure Feedbacks!

Content-Key: 301265

Url: https://administrator.de/contentid/301265

Printed on: April 18, 2024 at 15:04 o'clock

Member: SlainteMhath
SlainteMhath Apr 08, 2016 at 08:36:25 (UTC)
Goto Top
Moin,

wo ich "Titel und Beschreibung" der Bilder hinterlegen muss
das schreibt man idR in eine Datenbank...

Oder kann das aus der Bilddetails ausgelesen werden?
Falls das in den Metadaten hinterlegt ist, lässit sich das auch auslesen. Die Stichworte sind EXIF und IPTC - libs und module für PHP gibts dazu jede Menge.

lg,
Slainte
Member: MrCount
MrCount Apr 08, 2016 at 08:37:57 (UTC)
Goto Top
Hallo,

vielleicht hilft dir das weiter: https://www.stefan-brauner.com/news/exif-daten-mit-php-auslesen/

Mehr Infos zur Funktion gibt es hier: http://php.net/manual/de/function.exif-read-data.php
Member: pcguy
pcguy Apr 08, 2016 at 09:33:13 (UTC)
Goto Top
Danke für eure Infos!

Ist etwas zu komplex für mich, kennt jemand ein fertiges Script das meinen Wünschen in etwa entspricht?
Mitglied: 114757
114757 Apr 08, 2016 updated at 09:36:51 (UTC)
Goto Top
Member: MrCount
MrCount Apr 08, 2016 at 09:47:26 (UTC)
Goto Top
Ist etwas zu komplex für mich, kennt jemand ein fertiges Script das meinen Wünschen in etwa entspricht?

Vielleicht solltest du dann für die Webseite direkt ein CMS nehmen (Joomla, Wordpress, Drupal, ...).
Da gibt es diverse Plugins, die eine Gallery einbinden.
Member: pcguy
pcguy Apr 08, 2016 at 18:19:57 (UTC)
Goto Top
ich dachte eher in die Richtung :
http://sevenx.de/blog/tutorial-einfach-mit-php-ordner-auslesen-und-date ...

Leider werden da keine exif daten ausgelesen.
Member: MrCount
MrCount Apr 11, 2016 at 05:52:41 (UTC)
Goto Top
Naja, wie man exif-Daten ausliest wird ja in dem Tutorial, welchesich weiter oben gepostet habe, erklärt:

https://www.stefan-brauner.com/news/exif-daten-mit-php-auslesen/
Member: nxclass
nxclass Apr 20, 2016 at 21:55:58 (UTC)
Goto Top
Hi, in den Exif Daten eines Bildes stehen eher techn. Informationen. Wenn du Titel und Beschreibung zu jedem Bild anzeigen möchtest, wird du diese Informationen wohl irgendwie pflegen und speichern müssen.
Du kannst hier einfach zu jeder Bildatei eine Textdatei anlegen mit den Informationen (<25 Bilder); oder Du verwendest eine Datenbank wie SQLite, MySQL, etc

Dies kann sich durchaus zu einer komplexen Anwendung entwickeln und man sollte da ab einem bestimmten Punkt auch ein CMS verwenden. (TYPO3 gibts da noch)

Da du aber sicher etwas lernen willst mal ein paar Verweise:
http://php.net/manual/de/book.pdo.php - damit kannst du auf DB zugreifen, versuche dich mal mit SQLite, das ist eine DB die wie eine Textdatei aufgebaut ist.
http://php.net/manual/de/function.imagecopyresized.php - hiermit kannst Du die Thumbnails erstellen.
Was die Blätterfunktion angeht denke ich da eher an Javascript als an PHP, also JQuery
Member: pcguy
pcguy Apr 23, 2016 at 08:36:27 (UTC)
Goto Top
Danke für die Infos!
Das einpflegen der Exif Daten ist relativ einfach und zum teil bereits automatisiert.

Das auslesen der Exif Daten mache ich über exif-js
Das funktioniert auf das einzelne Bild auch sehr gut!

<img src="images/magazine/11.jpg" id="img1" />  

<script>
document.getElementById("exif").onclick = function() {  
    EXIF.getData(this, function() {
        var name = EXIF.getTag(this, "ImageDescription"),  
			desc = EXIF.getTag(this, "Artist"),  
            copy = EXIF.getTag(this, "Copyright");  
        alert(" " + name + " - " + desc + " - " + copy);  
    });
}

    http.send();

</script>

Mein Problem ist es das ganze in die fancybox zu integrieren.
Da währe ich um einwenig hilfe Dankbar face-smile
Member: nxclass
nxclass Apr 25, 2016 at 08:46:31 (UTC)
Goto Top
Das Thema ist eher was für Javascript.
Soweit ich auf den Beispielen von Fancybox sehe, muss das Ergebnis in das tittle Attribut des Links um das Image, dann wird dies autom. unter das Bild angezeigt.
<a id="a1" href="" title=""> <img src="images/magazine/11.jpg" id="img1" /> </a>  
...
document.getElementById("a1").setAttribute('title', " " + name + " - " + desc + " - " + copy);  
... ggf. mal die Frage verschieben wenn das geht.
Member: pcguy
pcguy Apr 25, 2016 at 12:55:42 (UTC)
Goto Top
Hallo nxclass,danke.

Ich habe folgendes versucht:
<div class="row">  
  <div class="col-xs-3 col-md-2">  
    <a href="images/gallery/demo/2_b.jpg" rel="group" id="a1" class="thumbnail fancybox" title=" " >  
      <img src="images/gallery/demo/2_b.jpg" alt="...">  
    </a>
 </div>

document.getElementById("a1").onclick = function()   

{
    EXIF.getData(this, function() {
        var name = EXIF.getTag(this, "ImageDescription"),  
			desc = EXIF.getTag(this, "Artist"),  
            copy = EXIF.getTag(this, "Copyright");  
	 setAttribute('title', " " + name + " - " + desc + " - " + copy);  
   });
 } 

Das funktioniert leider nicht und die Frage ist wie er das handelt wenn mehrere Bilder vorhanden sind ?


=> Admin wenn nötig bitte verschieben in Javascript
Mitglied: 114757
114757 Apr 25, 2016 updated at 13:00:46 (UTC)
Goto Top
Sowas auf den Client auszulagern finde ich sehr sehr ineffizient zumal ein User dann null Infos erhält wenn er JavaScript deaktiviert hat, geschweige denn einer zusätzlich zu ladenden JS-Datei. Das gehört definitiv ins PHP ausgelagert. JavaScript sollte hier nur zur Darstellung genutzt werden.
Member: SlainteMhath
SlainteMhath Apr 25, 2016 at 13:03:47 (UTC)
Goto Top
Sowas auf den Client auszulagern finde ich sehr sehr ineffizient zumal ein User dann null Infos erhält wenn er JavaScript deaktiviert hat, geschweige denn einer zusätzlich zu ladenden JS-Datei. Das gehört definitiv ins PHP ausgelagert. JavaScript sollte hier nur zur Darstellung genutzt werden.
Genauso würde ich das auch sehen. Die Infos gehören dazu noch einmalig beim Hochladen ausgelesen und in eine DB (oder ein Textfile) geschrieben - Ausgabe dann per PHP aus der DB/Textdatei.
Member: pcguy
pcguy Apr 25, 2016 at 13:44:03 (UTC)
Goto Top
Hm, ok ......

Das war die Version die ich einigermassen zum Laufen bekommen habe.
Es soll eine Lösung ohne DB sein .... sonst könnte ich ja auch eine fertige Gallery mit DB nehmen.

Dann starte ich wieder bei 0