输出目录中的所有图像 - php

时间:2013-11-13 12:59:08

标签: php image

我正在尝试通过php从目录中提取所有图像并将其打印为< li < img src="url..等...

在对SO做了一些研究之后,我发现glob函数应该很好地服务于这个目的,但不幸的是我不能让它工作。我认为问题在于我试图回应路径中的ID?但作为一个新手我似乎无法看到我的错误。

    <? 
        $dirname="images/companies/";  
        echo '$current['id']';
        $images = glob($dirname."*.jpg");

        foreach($images as $image) {
            echo '<img src="'.$image.'" /><br />';
        } 
    ?>

3 个答案:

答案 0 :(得分:2)

$dirname."*.jpg"之间没有dir分隔符,所以除非你的$current['id']以斜杠结尾,否则glob将不起作用。

尝试将$dirname."*.jpg"替换为$dirname."/*.jpg"

另外:您的$dirname与当前的PHP工作目录相关。无论调用PHP的位置如何,要确保无效,请使用$dirname=dirname(__FILE__)."/images/companies/".$current['id']

答案 1 :(得分:0)

  1. 确保thar $ dirname相对于当前路径或使用绝对路径,例如:

    $ dirname = $ _SERVER ['DOCUMENT_ROOT']。“/ / / some / path / images / companies /”;

  2. 确保您的路径没有丢失斜线,如果$ current ['id']没有斜杠,那么您必须写下:

    $ images = glob($ dirname。“/ *。jpg”);

答案 2 :(得分:-2)

当oyu窃取代码时会出现问题,但不明白它的作用。

如果要扫描目录,可以使用scandir(),它返回一个包含它找到的所有文件的数组,例如。

$files = scandir("your/path/");

要显示它们,你只需使用print_r(),它的丑陋而不是格式化,但它的目的是,如果你想要更多,请使用echo和html / css:

echo "<pre>";
print_r($files);
echo "</pre>";

没有完成代码,请为自己考虑一下。