我正在尝试创建一个侧边栏,我可以使用自定义字段在wordpress cms的后端指定图像,现在我已经让它工作,只有一个小错误,如果用户输入无效URL,图片链接将显示为已损坏且无法显示,是否有可能隐藏损坏的图像图标?
我为父DIV元素设置了背景图像,这样如果没有要显示的图像,父母的背景就会出现。
这是PHP代码:
//here I get the 'side_image' custom field, which will contain the URL to the side image
if (have_posts()) :
while (have_posts()) : the_post();
$side = get_post_meta($post->ID, 'side_image', true);
endwhile;
endif;
HTML:
<!--here is the HTML markup-->
<div id="inner_content_right">
<img src="<?php echo $side; ?>" />
</div>
CSS:
#inner_content_right {
background: url(images/Layout_3_other_06_backup.jpg) no-repeat;
width: 259px;
height: 691px;
float: right;
position: relative;
bottom: 28px;
}
提前Thanx!
答案 0 :(得分:1)
您可以使用cURL进行测试。请参阅此link的答案。
答案 1 :(得分:1)
您可以尝试类似
的内容<!--here is the HTML markup-->
<div id="inner_content_right">
<img src="<?php if (@getimagesize($side)) echo $side; ?>" />
</div>
答案 2 :(得分:0)
Thanx伙计们,我让它使用这段代码!
//check if the string is a valid URL
function checkURL($url)
{
return preg_match('|^http(s)?://[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$|i', $url);
}
//returns a image with a valid URL or nothing at all
function validateImage($one){
if(!checkURL($one))
{
$errMsg .= "Please enter valid URL including http://";
//return $errMsg;
} else {
$headers = get_headers($one, 1);
$return = $headers[0];
if($return!='HTTP/1.1 404 Not Found'){
$string = "<img src='$one' />";
return $string;
}
}
}
Thanx为您提供所有帮助!