readdir()
隠しファイルと隠しフォルダーを関数から除外することはできますか?私は多くのフォルダといくつかの隠しフォルダがあるディレクトリを持っています。非表示のフォルダを除くすべてのフォルダを読みたい。
助けてくれてありがとう。
Kcssm
readdir()
隠しファイルと隠しフォルダーを関数から除外することはできますか?私は多くのフォルダといくつかの隠しフォルダがあるディレクトリを持っています。非表示のフォルダを除くすべてのフォルダを読みたい。
助けてくれてありがとう。
Kcssm
ドット "." で始まるファイルだけを除外したい場合は、次のようにします。
$files = readdir('/path/to/folder');
$files = array_filter($files, create_function('$a','return ($a[0]!=".");'));
これは、ドット "." で始まらないファイルのみを返します。
Windowsでは、隠しファイルの動作が異なります。それらを見つける方法がわかりません。
「.」で始まるファイルやフォルダを除外できます。次のコードを使用して
$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>";
}
}
}
SPL イテレーターを使用します: DirectoryIterator + FilterIterator。
また、preg_grep で scandir を使用して、「.」で始まるすべてのファイルとフォルダーを非表示にすることもできます。以下のコードを参照してください。
$dir = '/Users/Umesh/Sites/';
$files = preg_grep('/^([^.])/', scandir($dir));
print_r($files);
?>