Могу ли я скрыть сломанные изображения? - PullRequest
0 голосов
/ 23 августа 2010

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

Спасибо заранее!

Ответы [ 3 ]

1 голос
/ 23 августа 2010

Вы можете попробовать что-то вроде

<!--here is the HTML markup-->
<div id="inner_content_right">
    <img src="<?php if (@getimagesize($side)) echo $side; ?>" />
</div>
1 голос
/ 23 августа 2010

Вы можете проверить это с помощью cURL.Смотрите ответ по этой ссылке .

0 голосов
/ 23 августа 2010

Спасибо, ребята, я получил его для работы с этим кодом!

//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;
    }
    }
}

Спасибо за вашу помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...