我试图解决一个问题,即当从手机上传肖像图片时,它在桌面/浏览器上打开时不会保存为正确的方向。
我使用下面的代码获取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"数据