foreach循环返回两个鬼项?

tct*_*c91 0 php foreach loops scandir

我正在尝试遍历文件夹并在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>';
}
Run Code Online (Sandbox Code Playgroud)

输出示例(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>
Run Code Online (Sandbox Code Playgroud)

irr*_*ant 5

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

看看有人在php.net上发布代码:拿走

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