使 domdocument img 搜索更轻量级

Making domdocument img search more lightweight

这会抓取页面中的所有图像,并且应该检查图像的宽度和高度是否大于 200。如果是,则抓取第一张。但这是一个昂贵的过程,我想知道是否有比使用 getimagesize 更轻量级的方法。有谁知道不使用 YQL 等外部服务的不同方法吗?

if($ogimage!=''|| !empty($ogimage)){
    $arrimg = $ogimage;
} else {
    $imgarr = array();
foreach ($doc->getElementsByTagName('img') as $img) {
    $arrimg_push = $img->getAttribute('src');
    array_push($imgarr, $arrimg_push);
}
    $i=0;
    foreach($imgarr as $img){
     list($width, $height, $type, $attr) = getimagesize($img);
        if($width > 200 && $height > 200){
            if($i > 0){
            $arrimg = $img;
            $i++;
            }
        }
    }
}

ImageMagick 的 pingImage or pingImageFile 将读取尽可能少的图像文件以获得基本属性,然后可以使用 getImageWidthgetImageHeight.

访问这些属性