我正在用PHP编写一个简单的钓鱼游戏。我有一段代码打印我/ img目录中的所有图像文件,但它也输出 .DS_Store 。我想排除那个文件,可能使用glob(),但我不知道如何。我用谷歌搜索了几个小时没有运气。
$files = scandir('img');
if ($files !== false) {
foreach($files as $f) {
if ($f == '..' || $f == '.') continue;
echo '<li class="fish_pic"><img src="img/'.$f.'" alt="'.$f.'" title="" class="fish"></li>'."\n";
}
}
如何排除.DS_Store?
答案 0 :(得分:2)
只需添加if规则。
if ($f == '..' || $f == '.' || $f == '.DS_Store') continue;
或者,您可以使用数组和in_array()方法。
$filesToSkip = array('.', '..', '.DS_Store', 'other_file_to_skip');
$files = scandir('img');
if ($files !== false) {
foreach($files as $f) {
if (in_array($f, $filesToSkip)) continue;
echo '<li class="fish_pic"><img src="img/'.$f.'" alt="'.$f.'" title="" class="fish"> </li>'."\n";
}
}
答案 1 :(得分:0)
$files = scandir('img');
if ($files !== false) {
foreach($files as $f) {
if ($f == '..' || $f == '.' || substr($f, -strlen(".DS_Store")) === ".DS_Store") continue;
echo '<li class="fish_pic"><img src="img/'.$f.'" alt="'.$f.'" title="" class="fish"></li>'."\n";
}
}