图片上传不检索"方向" exif数据

时间:2017-03-20 14:41:58

标签: image upload orientation exif

我试图解决一个问题,即当从手机上传肖像图片时,它在桌面/浏览器上打开时不会保存为正确的方向。

我使用下面的代码获取exif数据,将其更改为正确的方向,但我遇到了问题:

$exif = exif_read_data($_FILES["file"]["tmp_name"], 0, true);

Error: Unexpected token a in JSON at position 0; array(4) {
      ["FILE"]=>
      array(6) {
        ["FileName"]=>
        string(11) "php18A7.tmp"
        ["FileDateTime"]=>
        int(1490020599)
        ["FileSize"]=>
        int(382988)
        ["FileType"]=>
        int(2)
        ["MimeType"]=>
        string(10) "image/jpeg"
        ["SectionsFound"]=>
        string(19) "ANY_TAG, IFD0, EXIF"
      }
      ["COMPUTED"]=>
      array(5) {
        ["html"]=>
        string(26) "width="2041" height="3628""
        ["Height"]=>
        int(3628)
        ["Width"]=>
        int(2041)
        ["IsColor"]=>
        int(1)
        ["ByteOrderMotorola"]=>
        int(1)
      }
      ["IFD0"]=>
      array(6) {
        ["ACDComment"]=>
        string(37) "Windows Photo Editor 10.0.10011.16384"
        ["Orientation"]=>
        int(8)
        ["Software"]=>
        string(37) "Windows Photo Editor 10.0.10011.16384"
        ["DateTime"]=>
        string(19) "2017:03:20 14:32:13"
        ["Exif_IFD_Pointer"]=>
        int(2242)
        ["UndefinedTag:0xEA1C"]=>
        string(2060) "�
        }
    }

在桌面浏览器上完成上传时,上面显示的错误为var_dump($exif)。如图所示,它检索" Orientation"数据但是当我在移动设备上执行时,它只检索" FILE"数组和" COMPUTED"数组并且都不包含" ORIENTATION"数据

1 个答案:

答案 0 :(得分:0)

<强>解决方案

我意识到,每当它尝试使用exif_read_data()读取exif数据时,数据就已经消失了。

我最终使用名为exif.js的库检索JavaScript中的exif数据。进一步解释here