PHP从URL获取所有图像,宽度和高度> = 200更快

我模拟一些功能,例如http://pinterest.com add a pin


如何从宽度和高度> = 200的url中更快地获取所有图像?pinterest.com将完成整个过程近10秒,但我需要48.64秒。


require dirname(__FILE__) . '/simple_html_dom.php';

$url = 'http://www.huffingtonpost.com/';

$html = file_get_html($url);

if($html->find('img')){

    foreach($html->find('img') as $element) {

        $size = @getimagesize($element->src);

        if($size[0]>=200&&$size[1]>=200){

            echo $element;

        }

    }

}// cost 48.64 seconds


慕娘9325324
浏览 705回答 3
3回答

波斯汪

getimagesize()将首先下载整个图像文件,然后进行分析。通常,您只需要文件的前几百个字节即可获取类型/分辨率的详细信息。另外,它将对每个图像使用单独的http请求。经过适当优化的系统将使用“部分获取”请求仅获取图像的第一块,并利用http保持活动将TCP连接开销降至最低。
打开App,查看更多内容
随时随地看视频慕课网APP