Я пытаюсь создать собственное изображение по умолчанию, если изображение из RSS-ленты слишком маленькое.
это мой код:
list($width, $height, $type, $attr) = getimagesize($item['item_img_path']);
if ($width > 75) {
$imgpath= $item['item_img'];
}else{
//no image found - default image
$imgpath = "<span class='fetched'></span>";
}
if ( $width > 75) {
$imgtest = 'image ( '.$width.' ) is larger than 75';
}else{
$imgtest = 'image ( '.$width.' ) is less than 75 <br>path is '. $item['item_img_path'].'<br> type is '.$type;
}
, но некоторые каналы возвращают носитель с расширенным URL-адресом, как в:
<media:content width="460" url="https://i.guim.co.uk/img/media/330beb5c556c30ab7cba321f3b79241ab7b4d8af/782_922_7183_4310/master/7183.jpg?w=460&q=55&auto=format&usm=12&fit=max&s=a0cb25015876d9b0b7e4abec488f34b7">
теперь это изображение отображается в моем фиде, но когда я пытаюсь получить размер ($ width) или набрать, оно возвращает пустое значение.
Я думал, что смогу обойти это, изменив эту строку:
if ($width > 75) {
до
if ( ($width > 75) || ($width ='')) {
но это не имело никакого значения, все еще приводя к ложному утверждению и, таким образом, давая только мой диапазон (изображение по умолчанию)
поэтому я также попытался получить все дополнительные данные после "jpg" медиа-файла, но он все равно не даст размер изображения:
$s = strstr($item['item_img_path'], 'jpg', true).'jpg';
list($width, $height, $type, $attr) = getimagesize($s);
if ( ($width > 75) || ($width ='')) {
$imgpath= $item['item_img'];
}else{
//no image found - default image
$imgpath = "<span class='fetched'></span>";
}
if ( $width > 75) {
$imgtest = 'image ( '.$width.' ) is larger than 75';
}else{
$imgtest = 'image ( '.$width.' ) is less than 75 <br>path is '. $item['item_img_path'].'<br>s is '.$s.'<br> s type is '.$type;
}
RSS-канал, вызывающий у меня проблемы:
https://www.theguardian.com/environment/energy/rss
пример ссылки на файл мультимедиа:
https://i.guim.co.uk/img/media/330beb5c556c30ab7cba321f3b79241ab7b4d8af/782_922_7183_4310/master/7183.jpg?w=460&q=55&auto=format&usm=12&fit=max&s=a0cb25015876d9b0b7e4abec488f34b7
это показывает изображение, но я не могу получить размеры.
и удаление всего после jpg:
https://i.guim.co.uk/img/media/330beb5c556c30ab7cba321f3b79241ab7b4d8af/782_922_7183_4310/master/7183.jpg
выдает запрещенную ошибку. поэтому я не могу дать размеры.