我正在为使用wowarmoryapi的朋友设计一个魔兽世界公会网站。 但是我目前正在做一个会员名单,并不是所有会员(较低级别等)都有图像。 所以我想我会过滤掉那些返回虚假图像并在其位置显示“blankportrait.png”的文件。
这是我正在使用的代码,(它在本地网站上,所以我不担心链接)
$portrait = $member['character']['thumbnailURL'];
$noportrait = "wp-content/themes/the-confederation/inc/images/blankportrait.png";
if (file_exists($portrait)) {
$portrait;
} else {
$portrait = $noportrait;
};
?>
<div class="member">
<div class="memberportrait"><img src="<?php echo $portrait ?>"/></div>
答案 0 :(得分:0)
file_exists
应仅用于本地或网络驱动器。在您的情况下,您想要查看字符串是否存在(或非空)。您可以执行以下操作:
$portrait = $member['character']['thumbnailURL'];
$noportrait = "wp-content/themes/the-confederation/inc/images/blankportrait.png";
if (empty($portrait)) {
$portrait = $noportrait;
}
此外,如果您使用的是wordpress,则可能需要将$noportrait
设置为包含get_stylesheet_directory_uri()
..例如:
$noportrait = get_stylesheet_directory_uri()."/inc/images/blankportrait.png";
答案 1 :(得分:0)
OP解决方案。
使用Curl的解决方案:
$noportrait = get_stylesheet_directory_uri()."/inc/images/blankportrait.png";
$h = curl_init($member['character']['thumbnailURL']);
curl_setopt($h, CURLOPT_RETURNTRANSFER, true);
$r = curl_exec($h);
$http_code = curl_getinfo($h, CURLINFO_HTTP_CODE);
if($http_code == 404)
{
$portrait = $noportrait;
}
else
{
$portrait = $member['character']['thumbnailURL'];
}
curl_close($h);