获取图像大小会导致rss feed错误

时间:2018-06-27 15:49:25

标签: php getimagesize

如果rss feed中的图像太小,我将尝试创建自己的默认图像。

这是我的代码:

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&amp;q=55&amp;auto=format&amp;usm=12&amp;fit=max&amp;s=a0cb25015876d9b0b7e4abec488f34b7">

现在该图片显示在我的Feed中,但是当我尝试获取尺寸($ 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

给出了一个禁止的错误。所以我不能给出尺寸。

1 个答案:

答案 0 :(得分:0)

您可以使用必须的信息从media.guim.co.uk中提取全幅图像。切换i.guim.co.uk/img/media/为media.guim.co.uk/,您会很方便:

https://media.guim.co.uk/330beb5c556c30ab7cba321f3b79241ab7b4d8af/782_922_7183_4310/master/7183.jpg