glob()查找图像,但回显为缺失

时间:2014-01-14 19:49:17

标签: php glob

我使用glob()查找符合规则的任何图像文件。

我正在使用以下代码:

$photo = glob(($_SERVER['DOCUMENT_ROOT'] .'/stocklist/photo/'.$row['Scientific'].'*.jpg'));

print_r(glob(($_SERVER['DOCUMENT_ROOT'] .'/stocklist/photo/'.$row['Scientific'].'*.jpg')));

产生以下内容:

    Array ( [0] => /var/www/web/stocklist/photo/Pituophis deppei jani.jpg 
[1] => /var/www/web/stocklist/photo/Pituophis deppei jani1.jpg )

然后,当我使用下面的代码将图像回显到页面时,它会显示2个损坏的图像图标......

$length = count($photo);


        if($length) {
        echo"<ul id='slide'>";
        for ($i = 0; $i < $length; $i++) {
        echo "<li><img src='".$photo[$i]."' alt='".$row['Name']."'></li>";}

        echo "</ul><ul id='slide-pager'>";

        for($i2 = 1; $i2 < $length+1; $i2++) {
        echo "<li><a href='#".$i2."'>".$i2."</a></li>";

        }
        echo "</ul>";
        }
        else {
        echo "<img src='/stocklist/photo/placeholder.jpg' class='img-right'><br clear='right'>";
        }

1 个答案:

答案 0 :(得分:2)

尝试更改为:

$photo = (glob('stocklist/photo/'.$row['Scientific'].'*.jpg'));
print_r(glob('stocklist/photo/'.$row['Scientific'].'*.jpg'));

这样,返回的路径已经相对于您的公用文件夹了。你也可以像@sergiu建议做一个str_replace,但为什么不完全摆脱呢?