列出目录中未列出内容的所有图像

时间:2012-09-11 09:44:01

标签: php image readdir closedir

我使用以下内容列出目录中的所有jpg图像,由于某种原因它不起作用,我认为我的一些和.s可能在错误的地方,我想我已经混淆了自己一点:-S。

<?php
if ($handle = opendir('images/photobanner')) {
while (false !== ($file = readdir($handle)))
{
    if ($file != "." && $file != ".." && strtolower(substr($file, strrpos($file, '.') + 1)) == 'jpg')
    {
        $thelist .= '<li><a href="'.$file.'">'<img src="'.$file.'.'"/>'</a></li>';
    }
}
closedir($handle);
}
?>

<P>List of files:</p>
<UL>
<P><?=$thelist?></p>
</UL>

3 个答案:

答案 0 :(得分:2)

更改连接线,如下所示。

    $thelist .= '<li><a href="'.$file.'"><img src="'.$file.'"/></a></li>';

在开始循环声明$thelist之前,它在范围

中可用

答案 1 :(得分:0)

您的变量$thelist仅在您的while循环中已知。

如果您将开头改为此,则应该有效:

<?php
$thelist = "";
if ($handle = opendir('images/photobanner')) {

您的问题的技术术语是“范围”。

答案 2 :(得分:0)

也许glob()最适合您,而且您还有一些额外的'

$thelist = '';
foreach (glob("images/photobanner/*.jpg") as $file) {
    $thelist .= '<li><a href="'.$file.'"><img src="'.$file.'"/></a></li>';
}
echo $thelist;