php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Request #69854 Facilitate reading and parsing of IPTC/XMP metadata
Submitted: 2015-06-16 18:24 UTC Modified: 2015-06-16 20:22 UTC
Votes:2
Avg. Score:5.0 ± 0.0
Reproduced:2 of 2 (100.0%)
Same Version:0 (0.0%)
Same OS:0 (0.0%)
From: gillesvds at adok dot info Assigned:
Status: Open Package: *Graphics related
PHP Version: 5.4.42 OS: Windows or Linux
Private report: No CVE-ID: None
View Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
If you reported this bug, you can edit this bug over here.
(description)
Block user comment
Status: Assign to:
Package:
Bug Type:
Summary:
From: gillesvds at adok dot info
New email:
PHP Version: OS:

 

 [2015-06-16 18:24 UTC] gillesvds at adok dot info
Description:
------------
---
From manual page: http://www.php.net/function.exif-read-data
---
Exporting JPEG from Adobe Lightroom 6 (and 6.1) which conforms strictly with the industry standards do not more comply with exif_read_data() for at least 3 fields: Copyright (contains just a substring), Make (empty), Model (empty).

Test script:
---------------
var_dump(exif_read_data($theFile));
// Then, look at the fields




Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2015-06-16 18:56 UTC] cmb@php.net
-Status: Open +Status: Feedback -Assigned To: +Assigned To: cmb
 [2015-06-16 18:56 UTC] cmb@php.net
Can you make such an image available for download?
 [2015-06-16 19:01 UTC] gillesvds at adok dot info
-Status: Feedback +Status: Assigned
 [2015-06-16 19:01 UTC] gillesvds at adok dot info
You can download the cover of my portfolio : www.gillesvds.fr
 [2015-06-16 20:21 UTC] cmb@php.net
-Summary: exif_read_data() does not conform with industry standards +Summary: Facilitate reading and parsing of IPTC/XMP metadata -Status: Assigned +Status: Open -Type: Bug +Type: Feature/Change Request -Package: EXIF related +Package: *Graphics related
 [2015-06-16 20:21 UTC] cmb@php.net
Thanks. I've downloaded the image and this script:

    <?php
    $data = array_intersect_key(
        exif_read_data('./69854.jpg'),
        ['Copyright' => null, 'Make' => null, 'Model' => null]
    );
    var_dump($data);
    
produces:

    array(3) {
      ["Make"]=>
      string(1) "☺"
      ["Model"]=>
      NULL
      ["Copyright"]=>
      string(10) "llesvds.fr"
    }

Apparently, this is nonsense, but Adobe Lightroom concentrates not
on classic EXIF, but rather on IPTC metadata in XMP format[1].
IPTC metadata are not subject of exif_read_data(), but rather of
iptcparse(). Using the example from the iptcparse() man page[2]
yields somewhat better results, but still not what is desired. I
believe, however, that this is not a bug in iptcparse(), because
the documentation states:

| Parse a binary IPTC block into single tags.

XMP format is, however, not binary, but an application of XML.

Therefore I'm switching this ticket to feature request.

You may consider to look for a PHP library which can read and
parse IPTC/XMP metadata.

[1] <https://helpx.adobe.com/lightroom/help/metadata-basics-actions.html>
[2] <http://php.net/manual/en/function.iptcparse.php#refsect1-function.iptcparse-examples>
 [2015-06-16 20:22 UTC] cmb@php.net
-Status: Assigned +Status: Open -Assigned To: cmb +Assigned To:
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sun Dec 22 06:01:30 2024 UTC