我对php.net中为函数is_dir()描述的概念感到困惑,它说
判断给定的文件名是否为目录
(1)它检查给定的参数是否是一个目录,当我给它一个路径时,它成功返回true,但它使用术语给定文件名,如果我知道它是filename(文件返回false),为什么我要首先检查它?
(2)这里有我困惑的地方,readdir返回文件位于给定文件夹内,它返回文件名但在循环opendir()时返回单点和双点,所以,点在返回值中的确切含义是什么?
答案 0 :(得分:3)
我觉得很简单。
单点表示当前目录,双点表示父目录
在根目录中没有双点。
如果使用“ls -a”Linux命令,则会有相同的输出(单点和双点)。
在某些情况下,这非常有用,可以查看父目录或当前目录中给出的权限
我不确定它,但我认为readdir函数使用相同的接口导致点。 (也许php只是在内部使用“ls”语句或类似的东西)
你可以简单地在循环中跳过这两个“文件”,例如:
if ($file == "." or $file == "..") continue;