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-ID: 301265

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

Ausgedruckt am: 21.11.2024 um 22:11 Uhr

SlainteMhath
SlainteMhath 08.04.2016 um 10:36:25 Uhr
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
MrCount
MrCount 08.04.2016 um 10:37:57 Uhr
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
pcguy
pcguy 08.04.2016 um 11:33:13 Uhr
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?
114757
114757 08.04.2016 aktualisiert um 11:36:51 Uhr
Goto Top
MrCount
MrCount 08.04.2016 um 11:47:26 Uhr
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.
pcguy
pcguy 08.04.2016 um 20:19:57 Uhr
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.
MrCount
MrCount 11.04.2016 um 07:52:41 Uhr
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/
nxclass
nxclass 20.04.2016 um 23:55:58 Uhr
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
pcguy
pcguy 23.04.2016 um 10:36:27 Uhr
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
nxclass
nxclass 25.04.2016 um 10:46:31 Uhr
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.
pcguy
pcguy 25.04.2016 um 14:55:42 Uhr
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
114757
114757 25.04.2016 aktualisiert um 15:00:46 Uhr
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.
SlainteMhath
SlainteMhath 25.04.2016 um 15:03:47 Uhr
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.
pcguy
pcguy 25.04.2016 um 15:44:03 Uhr
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