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

Dav*_*vid 6 php optimization performance image

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

动态获取许多图像的图像尺寸的最佳方法是什么,对页面加载的影响最小.我们正在谈论50多张图片.

Jau*_*ika 7

我刚刚测试了55个5+ MB图像:

Imagemagick的getImageGeometry花了5.3 seconds(因为在每个文件之后你必须重新创建imagick对象),而getimagesize通过图像进入0.032 seconds.后者不仅仅是可以接受的.

如果不是,请将维度存储在数据库中.

编辑:此外,如果您通过TCPIP获取文件,这将大大减慢进程.所以,如果你这样称呼它:

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

代替

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

你得到一些网络开销.

另外,如果这些图片一贯具有EXIF数据(用数码相机制造),那么你可以使用PHP exif_的功能,如:exif_read_data.

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