php - 动态检索图像尺寸的最快方法

标签 php optimization image performance

改善页面加载的一种方法是指定图像尺寸(高宽)。在 PHP 中,这可以通过 getimagesize() 完成,但是我可以想象,如果您有很多图像,执行起来会很慢。

在对页面加载影响最小的情况下动态获取许多图像的图像尺寸的最佳方法是什么。我们说的是 50 多张图片。

最佳答案

我刚刚测试了 55 张 5MB 以上的图片:

Imagemagick 的 getImageGeometry 花费了 5.3 秒(因为在每个文件之后您必须重新创建 imagick 对象),而 getimagesize 在 0.032 秒 中完成图像处理。后者是完全可以接受的。

如果不是,则将尺寸存储在数据库中。

编辑:此外,如果您通过 TCPIP 获取文件,则会大大减慢处理速度。所以,如果你这样调用它:

getimagesize('http://www.blabla.com/pic.jpg');

代替

getimagesize('localdir/hereiam/pic.jpg');

你会得到一些网络开销。

另外,如果这些图片一直有 EXIF 数据(用数码相机制作),那么您可以使用 PHP exif_ 函数,例如:exif_read_data。

问题:您使用的是哪个 PHP 版本?较旧的 4.x 版本在某些文件系统上的 getimagesize 问题较小。

关于php - 动态检索图像尺寸的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3334097/

相关文章:

数组中的 PHP 变量

php - 如何使用 PHP 抓取此内容并仅获取纬度/经度

javascript - 谷歌地图显示错误 Api 项目未授权

optimization - 在 Haskell 中, concat 懒惰地构建一个列表,但我自己的版本有一个扭曲,没有

c++ - C++ 中的编译器指令重新排序优化(以及抑制它们的因素)

c# - 使用c#在wpf listview中添加图像

php - 通过 cron 运行的 php 文件的参数

PHP || and && 逻辑优化

java - 如何在 Eclipse 上导出带有图像的 jar?

python - 在python中渲染图像以在html中显示