0

我正在尝试遍历一个文件夹并将其中的图像打印在一个 html 列表中。输出必须分配给 $bgFinal 变量。

它设法输出文件夹中的所有项目,但它也在输出实际存在的项目之前输出两个不存在的项目。

$files = scandir('../admin/js/3rd_party/tctc91_custom/bg');
if ($files !== false) 
{
    $bgFinal = '<ul>';
    foreach($files as $f) { 
        $bgFinal .= '<li><img src="../admin/js/3rd_party/tctc91_custom/bg/'.$f.'" alt="'.$f.'" id="'.$f.'" /></li>';
    }
    $bgFinal .= '</ul>';
}

输出示例(bg 文件夹包含 4 个图像):

<ul>
    <li><img src="../admin/js/3rd_party/tctc91_custom/bg/." alt="." id="."></li>
    <li><img src="../admin/js/3rd_party/tctc91_custom/bg/.." alt=".." id=".."></li>
    <li><img src="../admin/js/3rd_party/tctc91_custom/bg/1.png" alt="1.png" id="1.png" style="opacity: 0.6; "></li>
    <li><img src="../admin/js/3rd_party/tctc91_custom/bg/2.png" alt="2.png" id="2.png"></li>
    <li><img src="../admin/js/3rd_party/tctc91_custom/bg/3.png" alt="3.png" id="3.png"></li>
    <li><img src="../admin/js/3rd_party/tctc91_custom/bg/4.png" alt="4.png" id="4.png" style="opacity: 0.6; "></li>
</ul>
4

3 回答 3

5

这些点代表当前目录和父目录scandir考虑到这些以及您的其他项目。

查看有人在 php.net 上发布的代码:获取

array_diff(scandir($directory), array('..', '.'))

于 2012-11-09T01:12:06.823 回答
3

目录。(点)和..(点点)

文件名 . (dot) 代表当前工作目录;文件名..(点点)代表当前工作目录上一级的目录,通常称为父目录。

于 2012-11-09T01:11:58.100 回答
0

试试这个代码

$files = array_diff(scandir('../admin/js/3rd_party/tctc91_custom/bg'), array('..', '.'));
if ($files !== false) 
{
    $bgFinal = '<ul>';
    foreach($files as $f) { 
        $bgFinal .= '<li><img src="../admin/js/3rd_party/tctc91_custom/bg/'.$f.'" alt="'.$f.'" id="'.$f.'" /></li>';
    }
    $bgFinal .= '</ul>';
}
于 2012-11-09T02:14:32.117 回答