<?php
set_time_limit(0);
$imageArray = [
'http://ww2.sinaimg.cn/mw690/63918611gw1f51fiawmcrj208s0aeq4a.jpg',
'http://ww3.sinaimg.cn/large/797a354agw1f4ya2a91tqj20k00zk765.jpg',
'https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/bd_logo1_31bdc765.png',
'https://pic1.zhimg.com/d32d2194fac9dec7215e5581ca0fdc24_r.jpg',
];
echo date('Y-m-d H:i:s') . substr((string) microtime(), 1, 6), "\r\n";
foreach ($imageArray as $imageUrl) {
$imageSize[] = @getimagesize($imageUrl);
echo date('Y-m-d H:i:s') . substr((string) microtime(), 1, 6), "\r\n";
}
var_dump($imageSize);
如下,我有一个页面,要展示图片信息,但getimagesize时间太长了,有其他高效的方法吗?
我是获取图片信息,不是查看存不存在
问题是这样的。这个事情给PHP做绝对是个坑。
流量上来了,图片源站不稳定了,网络出问题了,分分钟搞死服务器。
可以问前端大神有没有方案,或折中办法。
如果没有的话,可以在数据库建个表,维护一份图片信息数据。
然后当有图片加入的时候,就先判断表是否有数据了,如果没有获取图片的大小信息存入表,然后再做后面操作。
页面显示的时候直接查出来。
这里不说缓存,不说队列,不说图片本地化(而不是使用他站图片),是因为看起来这些会大大增加复杂度,当有必要的时候再考虑。