function file_list($path)
{
$paths = iconv(utf-8, gb2312, $path);
if ($handle = opendir($paths))//打开路径成功
{
while (false !== ($file = readdir($handle)))//循环读取目录中的文件名并赋值给$file
{
echo $file.'
';
//在遍历每个文件目录时会输出 . .. 这三点是哪来的
if ($file != . && $file != ..)//也就是这句判断的三点
{
if (is_dir($paths./.iconv(gb2312,utf-8,$file)))
{
// echo $path.: .$file.
;//去掉此行显示的是所有的非目录文件
file_list($paths./.iconv(gb2312,utf-8,$file));
}
else
{
// echo $paths.: .iconv(gb2312,utf-8,$file).
;
}
}
}
}
}
$path = d:\a;
file_list($path);
回复讨论(解决方案) if ($file != . && $file != ..)//这三点是哪来的?
$file != . 不是当前目录标志
$file != .. 不是当前目录标志
目录在计算机的文件系统中也是文件,.和 .. 在目录文件中标识特定的目录项
linux下当前目录和上级目录