我需要多少字节来读取图像,以便我可以在PHP中获取其维度元数据

时间:2011-11-15 05:39:15

标签: php image curl getimagesize

参考这个问题:Super fast getimagesize in php

我有兴趣使用该接受答案的代码,通过只读取几个字节而不下载整个图像来从元数据中获取图像大小

我应该下载的绝对最小字节数是多少才能获得图像的元数据?

我可以想象它在图像和文件类型之间会有所不同,但有没有某种公式或指南来确定这一点?也许是相对于图像文件大小的百分比指南?

1 个答案:

答案 0 :(得分:1)

图像可以嵌入任意长度的元数据 - 尤其是JPEG和PNG,您甚至可以在图片元数据中存储全彩色配置文件,预览图片和其他内容。

图像中甚至可以包含比实际图像数据更多的元数据。

因此,没有办法告诉一个永远有用的任意数字。

现在,如果您只对图像尺寸感兴趣,通常可以读取少于50个字节的文件。

  • PNG以字节16-19(宽度)和20-23(高度)存储宽度和高度。
  • 其他格式做类似的事情。

由于没有通用图像库可能只愿意处理50-100字节的图像数据,因此您必须编写自己的解析器,从而检查引用。