Делаем domdocument img search более легким

Он захватывает все изображения со страницы и должен проверить, имеет ли изображение большую ширину и высоту, чем 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++;
            }
        }
    }
}

1 ответ

Решение

PingImage или pingImageFile в ImageMagick будут считывать как можно меньше файла изображения, чтобы получить основные атрибуты, к которым затем можно получить доступ, используя getImageWidth а также getImageHeight,

Другие вопросы по тегам