读取图像需要多少字节才能在PHP中获得其尺寸元数据


how many bytes do I need to read an image so that I can get its dimensions metadata in PHP

参考这个问题:在php中超级快速的getimagesize

我有兴趣使用这个公认的答案的代码在获取图像大小从其元数据中读取只有几个字节,而不下载整个图像

我应该下载的绝对最小字节数是多少,以便我可以获得图像的元数据?

我可以想象它会因图像和文件类型而异,但是否有某种公式或指南来确定这一点?也许是一个与图像文件大小相关的百分比指南?

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

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

因此,没有办法告诉一个任意的数字总是有效的。

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

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

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