1

readdir()隠しファイルと隠しフォルダーを関数から除外することはできますか?私は多くのフォルダといくつかの隠しフォルダがあるディレクトリを持っています。非表示のフォルダを除くすべてのフォルダを読みたい。

助けてくれてありがとう。

Kcssm

4

4 に答える 4

5

ドット "." で始まるファイルだけを除外したい場合は、次のようにします。

$files = readdir('/path/to/folder');
$files = array_filter($files, create_function('$a','return ($a[0]!=".");'));

これは、ドット "." で始まらないファイルのみを返します。

Windowsでは、隠しファイルの動作が異なります。それらを見つける方法がわかりません。

于 2011-02-11T10:04:32.923 に答える
2

「.」で始まるファイルやフォルダを除外できます。次のコードを使用して

$ignoreList = array('cgi-bin', '.', '..', '._');
   if ($directory = opendir(APPPATH . 'controllers/user')) {
  while (false !== ($filename = readdir($directory))) {
    if (!in_array($filename, $ignoreList) and substr($filename, 0, 1) != '.') {
         echo $filename."<br>";
      }
   }
 }
于 2013-01-31T13:19:23.037 に答える
1

SPL イテレーターを使用します: DirectoryIterator + FilterIterator

于 2011-02-11T10:02:22.803 に答える
0

また、preg_grep で scandir を使用して、「.」で始まるすべてのファイルとフォルダーを非表示にすることもできます。以下のコードを参照してください。

$dir    = '/Users/Umesh/Sites/';
$files = preg_grep('/^([^.])/', scandir($dir));

print_r($files);

?>
于 2015-08-06T06:08:37.857 に答える