在PHP 7.2上,内置函数exif_read_data向PHP 7.1返回不同的信息。

这是我使用7.2时得到的:

php -r 'var_export(exif_read_data("x.jpg", "ANY_TAG"));'

array (
  'FileName' => 'x.jpg',
  'FileDateTime' => 1543144462,
  'FileSize' => 3564506,
  'FileType' => 2,
  'MimeType' => 'image/jpeg',
  'SectionsFound' => 'ANY_TAG, IFD0, EXIF',
  'COMPUTED' => 
  array (
    'html' => 'width="3968" height="2976"',
    'Height' => 2976,
    'Width' => 3968,
    'IsColor' => 1,
    'ByteOrderMotorola' => 1,
  ),
  'ImageWidth' => 3968,
  'ImageLength' => 2976,
  'BitsPerSample' => 
  array (
    0 => 8,
    1 => 8,
    2 => 8,
  ),
  'ImageDescription' => 'ptr',
  'Make' => 'HUAWEI',
  'Model' => 'STF-L09',
  'Orientation' => 0,
  'XResolution' => '72/1',
  'YResolution' => '72/1',
  'ResolutionUnit' => 2,
  'Software' => 'STF-L09C432B120',
  'DateTime' => '2018:11:24 15:11:58',
  'YCbCrPositioning' => 1,
)

但是,当我在7.1上运行完全相同的代码时,我得到了更多的EXIF数据:

array (
  'FileName' => 'x.jpg',
  'FileDateTime' => 1543144462,
  'FileSize' => 3564506,
  'FileType' => 2,
  'MimeType' => 'image/jpeg',
  'SectionsFound' => 'ANY_TAG, IFD0, THUMBNAIL, EXIF, GPS, INTEROP',
  'COMPUTED' => 
  array (
    'html' => 'width="3968" height="2976"',
    'Height' => 2976,
    'Width' => 3968,
    'IsColor' => 1,
    'ByteOrderMotorola' => 1,
    'ApertureFNumber' => 'f/2.2',
    'Thumbnail.FileType' => 2,
    'Thumbnail.MimeType' => 'image/jpeg',
    'Thumbnail.Height' => 384,
    'Thumbnail.Width' => 512,
  ),
  'ImageWidth' => 3968,
  'ImageLength' => 2976,
  'BitsPerSample' => 
  array (
    0 => 8,
    1 => 8,
    2 => 8,
  ),
  'ImageDescription' => 'ptr',
  'Make' => 'HUAWEI',
  'Model' => 'STF-L09',
  'Orientation' => 0,
  'XResolution' => '72/1',
  'YResolution' => '72/1',
  'ResolutionUnit' => 2,
  'Software' => 'STF-L09C432B120',
  'DateTime' => '2018:11:24 15:11:58',
  'YCbCrPositioning' => 1,
  'Exif_IFD_Pointer' => 280,
  'GPS_IFD_Pointer' => 8454,
  'DeviceSettingDescription' => 'ipp' . "\0" . '',
  'THUMBNAIL' => 
  array (
    'ImageWidth' => 512,
    'ImageLength' => 384,
    'Compression' => 6,
    'Orientation' => 0,
    'XResolution' => '72/1',
    'YResolution' => '72/1',
    'ResolutionUnit' => 2,
    'JPEGInterchangeFormat' => 8802,
    'JPEGInterchangeFormatLength' => 31647,
  ),
  'DocumentName' => NULL,
  'ExposureTime' => '30000000/1000000000',
  'FNumber' => '220/100',
  'ExposureProgram' => 2,
  'ISOSpeedRatings' => 320,
  'ExifVersion' => '0210',
  'DateTimeOriginal' => '2018:11:24 15:11:58',
  'DateTimeDigitized' => '2018:11:24 15:11:58',
  'ComponentsConfiguration' => '' . "\0" . '',
  'ShutterSpeedValue' => '298973/10000',
  'ApertureValue' => '227/100',
  'BrightnessValue' => '0/1',
  'ExposureBiasValue' => '0/10',
  'MeteringMode' => 5,
  'LightSource' => 1,
  'Flash' => 0,
  'FocalLength' => '3950/1000',
  'MakerNote' => 'Auto',
  'SubSecTime' => '405238',
  'SubSecTimeOriginal' => '405238',
  'SubSecTimeDigitized' => '405238',
  'FlashPixVersion' => '0100',
  'ColorSpace' => 1,
  'ExifImageWidth' => 3968,
  'ExifImageLength' => 2976,
  'InteroperabilityOffset' => 8424,
  'SensingMethod' => 2,
  'FileSource' => '',
  'SceneType' => '',
  'CustomRendered' => 1,
  'ExposureMode' => 0,
  'WhiteBalance' => 0,
  'DigitalZoomRatio' => '100/100',
  'FocalLengthIn35mmFilm' => 27,
  'SceneCaptureType' => 0,
  'GainControl' => 0,
  'Contrast' => 0,
  'Saturation' => 0,
  'Sharpness' => 0,
  'SubjectDistanceRange' => 0,
  'GPSVersion' => '' . "\0" . '' . "\0" . '',
  'GPSLatitudeRef' => 'N',
  'GPSLatitude' => 
  array (
    0 => '51/1',
    1 => '8/1',
    2 => '49994201/1000000',
  ),
  'GPSLongitudeRef' => 'W',
  'GPSLongitude' => 
  array (
    0 => '2/1',
    1 => '42/1',
    2 => '59101467/1000000',
  ),
  'GPSAltitudeRef' => '' . "\0" . '',
  'GPSAltitude' => '7162/100',
  'GPSTimeStamp' => 
  array (
    0 => '15/1',
    1 => '11/1',
    2 => '58/1',
  ),
  'GPSProcessingMode' => 'GPS' . "\0" . '',
  'GPSDateStamp' => '2018:11:24',
  'InterOperabilityIndex' => 'R98',
  'InterOperabilityVersion' => '0100',
)

使用7.2时,可以进行任何模块,扩展或更改以获得完整的EXIF数据吗? 我在共享Linux主机上,因此我只能做些限制。

===============>>#1 票数:0 已采纳

在PHP 7.2上,内置函数exif_read_data向PHP 7.1返回不同的信息。

这是我使用7.2时得到的:

php -r 'var_export(exif_read_data("x.jpg", "ANY_TAG"));'

array (
  'FileName' => 'x.jpg',
  'FileDateTime' => 1543144462,
  'FileSize' => 3564506,
  'FileType' => 2,
  'MimeType' => 'image/jpeg',
  'SectionsFound' => 'ANY_TAG, IFD0, EXIF',
  'COMPUTED' => 
  array (
    'html' => 'width="3968" height="2976"',
    'Height' => 2976,
    'Width' => 3968,
    'IsColor' => 1,
    'ByteOrderMotorola' => 1,
  ),
  'ImageWidth' => 3968,
  'ImageLength' => 2976,
  'BitsPerSample' => 
  array (
    0 => 8,
    1 => 8,
    2 => 8,
  ),
  'ImageDescription' => 'ptr',
  'Make' => 'HUAWEI',
  'Model' => 'STF-L09',
  'Orientation' => 0,
  'XResolution' => '72/1',
  'YResolution' => '72/1',
  'ResolutionUnit' => 2,
  'Software' => 'STF-L09C432B120',
  'DateTime' => '2018:11:24 15:11:58',
  'YCbCrPositioning' => 1,
)

但是,当我在7.1上运行完全相同的代码时,我得到了更多的EXIF数据:

array (
  'FileName' => 'x.jpg',
  'FileDateTime' => 1543144462,
  'FileSize' => 3564506,
  'FileType' => 2,
  'MimeType' => 'image/jpeg',
  'SectionsFound' => 'ANY_TAG, IFD0, THUMBNAIL, EXIF, GPS, INTEROP',
  'COMPUTED' => 
  array (
    'html' => 'width="3968" height="2976"',
    'Height' => 2976,
    'Width' => 3968,
    'IsColor' => 1,
    'ByteOrderMotorola' => 1,
    'ApertureFNumber' => 'f/2.2',
    'Thumbnail.FileType' => 2,
    'Thumbnail.MimeType' => 'image/jpeg',
    'Thumbnail.Height' => 384,
    'Thumbnail.Width' => 512,
  ),
  'ImageWidth' => 3968,
  'ImageLength' => 2976,
  'BitsPerSample' => 
  array (
    0 => 8,
    1 => 8,
    2 => 8,
  ),
  'ImageDescription' => 'ptr',
  'Make' => 'HUAWEI',
  'Model' => 'STF-L09',
  'Orientation' => 0,
  'XResolution' => '72/1',
  'YResolution' => '72/1',
  'ResolutionUnit' => 2,
  'Software' => 'STF-L09C432B120',
  'DateTime' => '2018:11:24 15:11:58',
  'YCbCrPositioning' => 1,
  'Exif_IFD_Pointer' => 280,
  'GPS_IFD_Pointer' => 8454,
  'DeviceSettingDescription' => 'ipp' . "\0" . '',
  'THUMBNAIL' => 
  array (
    'ImageWidth' => 512,
    'ImageLength' => 384,
    'Compression' => 6,
    'Orientation' => 0,
    'XResolution' => '72/1',
    'YResolution' => '72/1',
    'ResolutionUnit' => 2,
    'JPEGInterchangeFormat' => 8802,
    'JPEGInterchangeFormatLength' => 31647,
  ),
  'DocumentName' => NULL,
  'ExposureTime' => '30000000/1000000000',
  'FNumber' => '220/100',
  'ExposureProgram' => 2,
  'ISOSpeedRatings' => 320,
  'ExifVersion' => '0210',
  'DateTimeOriginal' => '2018:11:24 15:11:58',
  'DateTimeDigitized' => '2018:11:24 15:11:58',
  'ComponentsConfiguration' => '' . "\0" . '',
  'ShutterSpeedValue' => '298973/10000',
  'ApertureValue' => '227/100',
  'BrightnessValue' => '0/1',
  'ExposureBiasValue' => '0/10',
  'MeteringMode' => 5,
  'LightSource' => 1,
  'Flash' => 0,
  'FocalLength' => '3950/1000',
  'MakerNote' => 'Auto',
  'SubSecTime' => '405238',
  'SubSecTimeOriginal' => '405238',
  'SubSecTimeDigitized' => '405238',
  'FlashPixVersion' => '0100',
  'ColorSpace' => 1,
  'ExifImageWidth' => 3968,
  'ExifImageLength' => 2976,
  'InteroperabilityOffset' => 8424,
  'SensingMethod' => 2,
  'FileSource' => '',
  'SceneType' => '',
  'CustomRendered' => 1,
  'ExposureMode' => 0,
  'WhiteBalance' => 0,
  'DigitalZoomRatio' => '100/100',
  'FocalLengthIn35mmFilm' => 27,
  'SceneCaptureType' => 0,
  'GainControl' => 0,
  'Contrast' => 0,
  'Saturation' => 0,
  'Sharpness' => 0,
  'SubjectDistanceRange' => 0,
  'GPSVersion' => '' . "\0" . '' . "\0" . '',
  'GPSLatitudeRef' => 'N',
  'GPSLatitude' => 
  array (
    0 => '51/1',
    1 => '8/1',
    2 => '49994201/1000000',
  ),
  'GPSLongitudeRef' => 'W',
  'GPSLongitude' => 
  array (
    0 => '2/1',
    1 => '42/1',
    2 => '59101467/1000000',
  ),
  'GPSAltitudeRef' => '' . "\0" . '',
  'GPSAltitude' => '7162/100',
  'GPSTimeStamp' => 
  array (
    0 => '15/1',
    1 => '11/1',
    2 => '58/1',
  ),
  'GPSProcessingMode' => 'GPS' . "\0" . '',
  'GPSDateStamp' => '2018:11:24',
  'InterOperabilityIndex' => 'R98',
  'InterOperabilityVersion' => '0100',
)

使用7.2时,可以进行任何模块,扩展或更改以获得完整的EXIF数据吗? 我在共享Linux主机上,因此我只能做些限制。

  ask by Terence Eden translate from so

未解决问题?本站智能推荐:

1回复

从exif_read_data不支持的图像格式读取元数据

我目前正在使用exif_read_data从JPG,JPEG,TIFF和TIF文件中加载信息。 有没有简单的方法可以手动读取其他图像(例如PNG,BMP,GIF)? 使用fread或类似的东西?
1回复

PHP EXIF数据未显示

我一直在尝试从照片中显示一些基本的EXIF数据,但是没有运气。 我的代码如下。 我只需要显示一些基本信息。 我在服务器上启用了EXIF,并且我知道该映像中包含EXIF数据-但是使用此设置不会显示任何数据。 谁能告诉我我在做什么错?
1回复

将“创建日期” EXIF / XMP元数据写入jpg时出现问题

我有一个PHP脚本,它使用Flickr API从Flickr下载我的图像,解析关联的文本和元数据,并使用嵌入图像文件中的元数据将版本保存在服务器上。 我使用历史图像,并希望按日期顺序在智能手机上显示它们(我正在尝试在Android上使用F-Stop应用程序)。 通过将XMP数据写入文件,
1回复

如何从元数据获取标签

我试图从图像元数据中获取标签。 我正在使用exif_read_data函数来获取元数据。 我得到的标签结果是array-> http://prntscr.com/la1cug 。 那么如何获得确切的标签呢? 我的代码-
5回复

是否可以在图像中保存元数据?

我们在服务器上创建拇指图像,我正在寻找一种在该图像中保存元数据(文本)的方法。 那可能吗? 此时我们使用PHP并创建JPG图像。
2回复

PHP exif_read_data不再提取GPS位置

我刚刚通过自制软件安装了composer,brew似乎安装了新版本的php(5.6.24)。 从那时起,使用exif_read_data提取其他元数据(模型,曝光,iso等),但不再从照片中提取“GPSLatitude”等GPS信息。 我通过exiftool(独立的非php程序)运行相同
1回复

图片的exif数据代码

是否有任何代码可用于获取图像的所有exif数据? 我希望可以从图像文件(用户将在我的网页上上传)中提取所有可能的数据,例如比特率,文件所有者和安全性详细信息。 另外,如果在图像中添加了任何注释,我也想获取。 如果有一个API可以对任何文件(视频,文本,图像)执行这些操作,那么它将非常有帮助
1回复

处理/将字段添加到EXIF数据IPTC

当查看图像的元数据时,我想知道该数据实际上必须有多标准化。 是否可以为应用程序添加自定义字段? 我了解普通应用程序可能无法读取它,但是您建议采用什么方式添加一些“自定义值:1000”中的自定义元数据? 您的建议,链接,信息等?
2回复

php exif_read_data错误?

我正在使用php构建的某些软件。 适用于汽车经销商网站。 rpnmotorsinc.net 问题是能够上传图像。 如果我上载大多数jpg或jpeg文件,则通常可以正常上传。 由于我的客户不想调整尺寸/重新保存图像,因此他希望直接将佳能相机中的照片拍摄到计算机上以上传到网站,而无需重
1回复

如何在c#.net中创建wordpress图像缩略图元数据(大小/ exif / iptc)

这是wordpress缩略图图像元数据的另一个示例: 我如何用C#做到这一点? 我不知道此参数:(示例)s:10或i:0或a:4或s:33。