即时通讯使用scandir()来检查目录文件,它可以从根目录路径/ dir1/dir2/....(dir1不在我的.php后面文件的根文件夹)is_dir is_dir is_dir is_dir is_file无法使用从根目录的路径
,但使用相同的路径上is_dir和is_file时输出错误结果
我怎样才能解决这个问题?
即时通讯使用scandir()来检查目录文件,它可以从根目录路径/ dir1/dir2/....(dir1不在我的.php后面文件的根文件夹)is_dir is_dir is_dir is_dir is_file无法使用从根目录的路径
,但使用相同的路径上is_dir和is_file时输出错误结果
我怎样才能解决这个问题?
请试试这个
function getDirContents($dir) {
$handle = opendir($dir);
if (!$handle) return array();
$contents = array();
while $entry = readdir($handle)) {
if ($entry=='.' || $entry=='..') continue;
$entry = $dir.DIRECTORY_SEPARATOR.$entry;
if (is_file($entry)) {
$contents[] = $entry;
} else if (is_dir($entry)) {
$contents = array_merge($contents, getDirContents($entry));
}
}
closedir($handle);
return $contents;
}
$directoryPath = 'Path to folder';
$getDirContents = getDirContents($directoryPath);
echo "<pre>";
print_r(getDirContents);
echo "</pre>";
为什么OP不知道它在做什么?一个好的答案应该伴随__some解释___ – Thamilan
只是看看PHP的自己DirectoryIterator对象,它是比单功能更快,更详细。
$dir = new DirectoryIterator(dirname(__FILE__));
foreach ($dir as $fileinfo) {
if (!$fileinfo->isDot()) {
var_dump($fileinfo->getFilename());
}
}
这段代码直接取出文档。它采用当前执行文件的当前目录并遍历它。只要当前的$ fileinfo不是一个点,它就会转储该目录中文件和子目录的文件名。
该文件的权限如何? – Thamilan