【发布时间】:2018-03-18 08:52:18
【问题描述】:
我有 API $url,它应该根据请求返回图像。
它要么返回图像,要么不返回任何内容,然后我收到错误Failed to load resource: server responded with a statuf of 404。
您可以想象我在做什么,我正在发送一个带有图书 ISBN 编号的请求,API 检查它是否在数据库中具有 ISBN 的图书封面,如果有,我会在返回的图像中获得图书封面,但是如果不是,我想改用我的本地书本图标图像。
我尝试过这样做
list($width, $height) = getimagesize($url);
echo "Width: ".$width."<br/>";
echo "Height: ".$height."<br/>";
if($width==1 && $height==1){
echo "<img src='../images/book_cover.png' alt='' class='cover'/>";
}else{
echo "<img src=$url alt='' class='cover'/>";
}
但由于getimagesize() 不返回FALSE,我收到php 警告消息。
然后我尝试使用
if(!exif_imagetype($url)){
echo "<img src='../images/book_cover.png' alt='' class='cover'/>";
}else{
echo "<img src=$url alt='' class='cover'/>";
}
这可行,但我收到警告failed to open stream: HTTP request failed。
有什么想法可以解决问题并使其合法化吗?
编辑:
echo "<img src=$url onerror=\"this.onerror=null;this.src='../images/book_cover.png';\" alt='' class='cover'/>";
【问题讨论】:
标签: php image warnings file-type