Ce face iptcparse
Blocul IPTC se obține cu al doilea parametru al lui getimagesize: cheia APP13 din tabloul $info. iptcparse îl transformă într-un tablou cu chei de forma "2#080" (înregistrarea 2, eticheta 80). Fiecare valoare este un tablou, pentru că o etichetă poate apărea de mai multe ori (de exemplu cuvintele cheie).
Etichete uzuale: 2#005 titlul, 2#025 cuvintele cheie, 2#080 autorul, 2#116 drepturile de autor, 2#120 descrierea.
Parametri
| Parametru | Descriere |
|---|---|
$iptc_block |
Blocul IPTC binar, de obicei $info["APP13"]. |
Ce returnează
Tabloul cu etichete, sau false dacă blocul nu conține date IPTC.
Exemple
Exemplul 1: Autorul și cuvintele cheie ale unei fotografii
<?php
imagejpeg(imagecreatetruecolor(50, 50), "foto.jpg");
$iptc = chr(0x1C) . chr(2) . chr(80) . pack("n", 11) . "Ana Popescu"
. chr(0x1C) . chr(2) . chr(25) . pack("n", 4) . "mare"
. chr(0x1C) . chr(2) . chr(25) . pack("n", 5) . "vară";
file_put_contents("foto.jpg", iptcembed($iptc, "foto.jpg"));
getimagesize("foto.jpg", $info);
if (isset($info["APP13"])) {
$date = iptcparse($info["APP13"]);
echo "Autor: " . $date["2#080"][0] . "\n";
echo "Cuvinte cheie: " . implode(", ", $date["2#025"]);
}
Rezultat
Autor: Ana Popescu
Cuvinte cheie: mare, vară
Greșeli frecvente
- Accesezi
$info["APP13"]fără să verifici. Majoritatea imaginilor nu au IPTC, iar cheia lipsește.
Comenzi înrudite
iptcembed: Inserează date IPTC (autor, titlu, cuvinte cheie) într-o imagine JPEG și returnează imaginea nouă.getimagesize: Află lățimea, înălțimea și tipul unei imagini (JPG, PNG, GIF, WebP etc.) fără să o încarce complet.