2010-08-23 2 views
0

Я пытаюсь создать боковую панель, для которой я могу указать изображение в back-end своего 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 заранее!

ответ

1

Вы можете проверить его с помощью cURL. См. Ответ на этом link.

+0

Thanx за сообщение, это помогло мне по правильному пути! ;) – Odyss3us

+0

Добро пожаловать :) – fabrik

1

Вы могли бы попробовать что-то вроде

<!--here is the HTML markup--> 
<div id="inner_content_right"> 
    <img src="<?php if (@getimagesize($side)) echo $side; ?>" /> 
</div> 
+0

Я действительно не подавляю сообщения об ошибках: o – fabrik

+0

@fabrik мне тоже. Но в этом случае весь вопрос заключается в подавлении ситуации с ошибкой, так что отказоустойчивая проверка-процедура кажется правильной. Если он ломается, изображение просто не отображается вместо некоторого сообщения об ошибке gd. По крайней мере, для посетителя блога более приятный опыт :) – rgroli

+0

Thanx guys, я получил его на работу! Я отправлю рабочий код! – Odyss3us

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 на всю вашу помощь!