检查文件名是否像PHP中显示图像的字符串


check if filename is like string in php for displaying images

我试图从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>";
  }

现在我想检查图像名称"MB_default_Spectrum.png",如果它存在,不要显示它。

我已经试过了:

 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>";
}
 }

但它没有工作…它还在显示。这里出了什么问题?由于

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
}