PHP - 删除“.”和'..'来自从目录文件中获取的值

PHP - Remove '.' and '..' from values fetched from directory files

我正在使用此代码从目录中获取列表文件:

$dir = '/restosnapp_cms/images/'; 
if ($dp = opendir($_SERVER['DOCUMENT_ROOT'] . $dir)) { 
    $files = array(); 
    while (($file = readdir($dp)) !== false) { 
        if (!is_dir($dir . $file)) { 
            $files[] = $file; 
        } 
    } 
    closedir($dp); 
} else { 
    exit('Directory not opened.'); 
}

我想删除值“.”和'..'.

这可以吗?谢谢你。 :)

先检查一下:

while ($file = readdir($p)) {
    if ($file == '.' || $file == '..') {
        continue;
    }
    // rest of your code
}

DirectoryIterator 比 *dir 函数有趣得多:

$dir = new DirectoryIterator($_SERVER['DOCUMENT_ROOT'] . $dir);
foreach($dir as $file) {
   if (!$file->isDir() && !$file->isDot()) {
      $files[] = $file->getPathname();
   }
}

但最重要的是无论你用哪种方式,你都需要使用条件。