Задать вопрос

Поскажите функцию автовибора рисунка?

Пишу парсер с ютуба и там есть в старой версии 3 рисунка в новой уже 5 рисунков,

как реализовать если нет рисунка 5 вставляем рисунок 3

пробую так виводит ошибку и наверно виводит ошибку когда нет рисунка 3

getimagesize(https://i.ytimg.com/vi/Iz75dqOmBDw/maxresdefault.jpg): failed to open stream: HTTP request failed! HTTP/1.0 404 Not Found

$url_img_hqdefault = "https://i.ytimg.com/vi/".$video_id."/hqdefault.jpg";
$url_img_maxresdefault = "https://i.ytimg.com/vi/".$video_id."/maxresdefault.jpg";

						$getimage = getimagesize($url_img_maxresdefault);
						
						if($getimage[0] > 120) {
							$youtube_img_id = $url_img_maxresdefault;
						} else {
							$youtube_img_id = $url_img_hqdefault;
						}
  • Вопрос задан
  • 114 просмотров
Подписаться 1 Простой 2 комментария
Решения вопроса 1
@LazyDev
<?php

$poster = null;
$list = [
	"https://i.ytimg.com/vi/".$video_id."/hqdefault.jpg",
	"https://i.ytimg.com/vi/".$video_id."/maxresdefault.jpg"
];

foreach ( $list as $url ) {
	$headers = get_headers($url, true);
	if ( !empty($headers[0]) && preg_match('#200|302#', $headers[0]) ) {
		$poster = $url;
		break;
	}
}

var_dump($poster);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы