是否可以从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。
您还可以使用 scandir 和 preg_grep 来隐藏所有以“.”开头的文件和文件夹。请参考下面的代码,
$dir = '/Users/Umesh/Sites/';
$files = preg_grep('/^([^.])/', scandir($dir));
print_r($files);
?>