php 如何高效获取远程图片信息?

查看:82
本文介绍了php 如何高效获取远程图片信息?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

<?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做绝对是个坑。
流量上来了,图片源站不稳定了,网络出问题了,分分钟搞死服务器。

可以问前端大神有没有方案,或折中办法。

如果没有的话,可以在数据库建个表,维护一份图片信息数据。

然后当有图片加入的时候,就先判断表是否有数据了,如果没有获取图片的大小信息存入表,然后再做后面操作。

页面显示的时候直接查出来。

这里不说缓存,不说队列,不说图片本地化(而不是使用他站图片),是因为看起来这些会大大增加复杂度,当有必要的时候再考虑。

这篇关于php 如何高效获取远程图片信息?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆