Autor Zpráva
jok1955
Profil
Zdravím všechny. Může mi někdo, pls, poradit jak čtením metadat z fotografie? Mám fotografie z různých zdrojů a chci vygenerovat fotogalerii. Foto spravuji v gthumb (používám UBU 16.04) Zde mám k foto doplněny i popisy. Chtěl jsem popisy použít při generování a použil

$exif = exif_read_data($filename, 0, true);
Vypadalo to nadějně, jenže... zjistil jsem, že v novějších fotografiích či spíše některých fotoaparátech se odpovídající pole nepoužívá - $exif["EXIF"]["UserComment"], ale používá se asi nějaká jiná struktura. Když si pomocí scriptu vypíšu matadata v té "špatné" fotografii vůbec pole "UserComment" není. Script a výpis dvou různých foto viz příloha.
Někde tam však ta data jsou, protože je vidí např prohlížeč fotografií nebo i Nautilus. Ve vlastnostech se zobrazí jako:
XMP IPTC dc:description[1] Tradiční utkání...atd.
To však ve výpisu metadat vůbec není - viz. výpis první fotografie
Jak se k těmto datům dostat?

$exif = exif_read_data($filename, 0, true);
foreach ($exif as $key => $section) {
    foreach ($section as $name => $val) {
        echo "$key.$name: $val<br />\n";
    }
}

Výpisy dvou fatografií

FILE.FileName: ppr_ruz_2007_odbijena_1.jpg
FILE.FileDateTime: 1188240784
FILE.FileSize: 745301
FILE.FileType: 2
FILE.MimeType: image/jpeg
FILE.SectionsFound: ANY_TAG, IFD0, EXIF, MAKERNOTE
COMPUTED.html: width="1631" height="1087"
COMPUTED.Height: 1087
COMPUTED.Width: 1631
COMPUTED.IsColor: 1
COMPUTED.ByteOrderMotorola: 0
COMPUTED.ApertureFNumber: f/4.5
IFD0.ImageWidth: 1631
IFD0.ImageLength: 1087
IFD0.Compression: 1
IFD0.Make: Canon
IFD0.Model: Canon EOS 400D DIGITAL
IFD0.Orientation: 1
IFD0.XResolution: 1207959552/16777216
IFD0.YResolution: 1207959552/16777216
IFD0.PlanarConfiguration: 1
IFD0.ResolutionUnit: 2
IFD0.DateTime: 2007:08:27 20:53:02
IFD0.YCbCrPositioning: 1
EXIF.ExposureTime: 1/200
EXIF.FNumber: 45/10
EXIF.ExposureProgram: 3
EXIF.ISOSpeedRatings: 800
EXIF.ExifVersion: 0221
EXIF.DateTimeOriginal: 2007:08:17 17:20:27
EXIF.DateTimeDigitized: 2007:08:17 17:20:27
EXIF.ComponentsConfiguration: 
EXIF.ShutterSpeedValue: 500948/65536
EXIF.ApertureValue: 284416/65536
EXIF.ExposureBiasValue: 0/3
EXIF.MeteringMode: 1
EXIF.Flash: 9
EXIF.FocalLength: 18/1

Další foto
FILE.FileName: ppr_spol_2005_2.jpg
FILE.FileDateTime: 1126424396
FILE.FileSize: 760450
FILE.FileType: 2
FILE.MimeType: image/jpeg
FILE.SectionsFound: ANY_TAG, IFD0, EXIF
COMPUTED.html: width="1435" height="957"
COMPUTED.Height: 957
COMPUTED.Width: 1435
COMPUTED.IsColor: 1
COMPUTED.ByteOrderMotorola: 0
COMPUTED.UserComment: Společná popis
IFD0.XResolution: 72
IFD0.YResolution: 72
IFD0.ResolutionUnit: 2
IFD0.DateTime: 2018:03:24 20:07:58
IFD0.YCbCrPositioning: 1
IFD0.Exif_IFD_Pointer: 106
EXIF.ExifVersion: 0221
EXIF.ComponentsConfiguration: 
EXIF.UserComment: Společná popis
EXIF.FlashPixVersion: 0100
EXIF.ColorSpace: 1
Radek9
Profil
jok1955:
XMP data se ukládají přimo do datové části obrázku. Takže nějak takto.
jok1955
Profil
Radek9:
jj To vypadá dobře. Díky. JoK

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0