PHP-打印img目录时排除文件类型

PHP-打印img目录时排除文件类型,php,foreach,glob,file-type,scandir,Php,Foreach,Glob,File Type,Scandir,我正在用PHP编写一个简单的钓鱼游戏。我有一段代码正在打印/img目录中的所有图像文件,但它也在输出.DS_Store。我想排除该文件,可能使用glob(),但我不知道如何排除。我在谷歌上搜索了好几个小时,运气不好 $files = scandir('img'); if ($files !== false) { foreach($files as $f) { if ($f == '..' || $f == '.') continue; echo '

我正在用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";
    }
}
$files=scandir('img');
如果($files!==false){
foreach($f文件){
如果($f='..'| |$f='.')继续;
回声“
  • ”\n”; } }
  • 如何排除.DS_存储?

    只需添加一个if规则

    if ($f == '..' || $f == '.' || $f == '.DS_Store') continue;
    
    或者,您可以使用数组和方法

    $filesToSkip=array('.','..','.DS_Store','other_file_to_skip');
    $files=scandir('img');
    如果($files!==false){
    foreach($f文件){
    如果(在数组中($f,$filesToSkip))继续;
    回声“
  • ”\n”; } }
    $files=scandir('img');
    如果($files!==false){
    foreach($f文件){
    如果($f='..'| |$f='.| | substr($f,-strlen(“.DS_存储”))==“.DS_存储”)继续;
    回声“
  • ”\n”; } }
  • 请学习缩进代码,以便代码可读,块/嵌套清晰。由于我是新来的,您能告诉我如何正确缩进代码吗?这个标签不起作用。与其放弃投票,不如教新用户学习。缩进。你能取消否决票吗?好的。顺便说一句,回音不应该缩进,因为它不嵌套在“if”下。
    $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";
     }
    }
    
    $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";
        }
    }