如何在PHP的foreach()循环中检查图像URL是否存在?

时间:2015-07-20 12:02:12

标签: php url

已编辑:

1 - $search_result['image']打印的网址如:http://www.desktopwallpaperhd.net/wallpapers/21/7/wallpaper-sunset-images-back-217159.jpg

2 - 尝试删除包含并将代码直接放在screenshots.php中,但我根本没有任何更改。

3 - 想象一下,由于foreach循环,我可能无法请求函数,因此我将其更改为while($search_result, mysqli_fetch_array())并将sql作为mysqli_query进行咨询,但页面赢了' t load

我已经在谷歌搜索了两天并且无法使其正常工作,我的一位朋友告诉我这个网站及其运作方式,所以......重点:< / p>

我试图检查图片网址是否存在,如果它返回图片的src作为网址本身,如果图片网址不再存在,或者从未做过,图片src将更改为1默认值。

问题是所有的URL都在数据库中...... 这是我的PHP代码:

screenshots.php

<?php
    echo '<div class="dv_alb_pics" id="alb_ev_pics">';
    include('scripts/sug.php');
    echo $evs_content.'</div>';
?>

sug.php

<?php
    $images_search = $SQL->query("SELECT * FROM `screenshots` WHERE `section` = '1' AND `status` = '1' ORDER BY `date` DESC LIMIT 50;")->fetchAll();
    $evs_content .= '<table border="0" cellspacing="0" cellpadding="0" width="100%">
        <tr>
            <td>';
                foreach($images_search as $search_result) {
                    if(file_exists($search_result['image'])) {
                        $img_source = $search_result['image'];
                    } else {
                        $img_source = 'images/none.png';
                    }
                    $evs_content .= '<div class="ss_picture_rightside"><img class="ss_p_img_rightside" src="'.$img_source.'"></div>';
                }
            $evs_content .= '</td>
        </tr>
    </table>';
?>

在我搜索的过程中,我在帖子中看到一个人说file_exists()适用于php 5 +中的网址

事实证明他可能是错的,因为它根本不工作

我还尝试了一些CURL方法,但是当我在CURL内使用foreach()时,我的屏幕截图页面并没有加载

感谢任何建议,谢谢!

1 个答案:

答案 0 :(得分:0)

替换sug.php中的以下代码: -

foreach($images_search as $search_result) {
                    if(file_exists($search_result['image'])) {
                        $img_source = $search_result['image'];
                    } else {
                        $img_source = 'images/none.png';
                    }
                    $evs_content .= '<div class="ss_picture_rightside"><img class="ss_p_img_rightside" src="'.$img_source.'"></div>';
                }

foreach($images_search as $search_result) {
                    if (getimagesize($search_result['image']) !== false) {
                        $img_source = $search_result['image'];
                    } else {
                        $img_source = 'images/none.png';
                    }
                    $evs_content .= '<div class="ss_picture_rightside"><img class="ss_p_img_rightside" src="'.$img_source.'"></div>';
                }