0

我正在尝试通过 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 />';
        } 
    ?>
4

3 回答 3

2

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

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

另外:您$dirname是相对于当前 PHP 工作目录的。为了确保无论从哪里调用 PHP 都能正常工作,请使用$dirname=dirname(__FILE__)."/images/companies/".$current['id']

于 2013-11-13T13:01:58.480 回答
0
  1. 确保 thar $dirname 是相对于当前路径或使用绝对路径,例如:

    $dirname = $_SERVER['DOCUMENT_ROOT']."/../some/path/images/companies/";

  2. 确保您的路径没有缺少斜杠,如果 $current['id'] 没有尾随斜杠,则必须编写:

    $images = glob($dirname."/*.jpg");

于 2013-11-13T13:05:59.177 回答
-2

当 oyu 只是窃取代码但不明白它的作用时,这就是问题所在。

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

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

为了展示它们,您只需使用 print_r(),它丑陋且未格式化,但它可以达到目的,如果您想要更多,请使用 echo 和 html/css:

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

没有完成的代码,自己想一想。

于 2013-11-13T13:03:39.313 回答