我试图从php的文件夹中获取所有图像。它工作正常。现在我想检查某个图像是否存在,如果存在,则不要显示它。
这是我的基本代码,工作正常:
foreach (glob("Bilder/Spectrum/*.png") as $filename) {
$filenameDienst = explode("_", $filename);
echo "<a href='Dienste?d=".$filenameDienst[1]."#tabs-2'> <img class='loopimage' src='".$filename."'> </a>";
}
现在我想检查图像名称&#34; MB_default_Spectrum.png&#34;如果它存在则不显示它。
我试过这个:
foreach (glob("Bilder/Spectrum/*.png") as $filename) {
$filenameDienst = explode("_", $filename);
if ($filename != "MB_default_Spectrum.png") {
echo "<a href='Dienste?d=".$filenameDienst[1]."#tabs-2'> <img class='loopimage' src='".$filename."'> </a>";
}
}
但它不起作用..它仍在显示。这有什么不对?感谢
答案 0 :(得分:4)
glob
返回与给定模式匹配的路径数组,而不仅仅是文件名。查看您的代码,条件应为:
if ($filename != "Bilder/Spectrum/MB_default_Spectrum.png")
另外,我个人更喜欢以下代码(我觉得它更干净):
$results = glob('path/to/dir/*.png');
foreach ($results as $filename)
// Skip specific file
if ($filename === 'path/to/dir/secretNuclearLaunchCodesAsImage.png')
continue;
echo $filename
}