如果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&q=55&auto=format&usm=12&fit=max&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
示例媒体文件链接为:
这显示一张图片,但我无法获取尺寸。
并删除jpg之后的所有内容:
给出了一个禁止的错误。所以我不能给出尺寸。
答案 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