问题背景:我有个php文件叫做test.php
还有个文件夹叫做tmp_data
这两个文件是在同级目录下。
说明tmp_data文件里面有个tmp.txt文件现在上test.php代码:<?php
$dir = "./tmp_data";
//打开目录$dir,并将目录句柄赋给变量$dh
if($dh = opendir($dir))
{
    //通过while循环,使用函数readdir获取文件名
    while(($file_name = readdir($dh)) !== FALSE)
    {
        echo "file name: ".$file_name;
        echo "<br/>";
        echo "<br/>";
    }    //处理完成后,关闭目录句柄$dh
    closedir($dh);
}
?>
运行结果:
file name: .file name: ..file name: tmp.txt不懂的需要大牛帮忙的:
明明我获取的是tmp.txt,为何还会多出两个:.
..
这两个东西
这两个是啥玩意?为何会多出来这两个东东啊 不解 
我只要获取tmp.txt,谢谢
小弟新手 让大牛见笑了!祝好人一生平安!

解决方案 »

  1.   

    这是在linux系统下的,目录默认的
      

  2.   

    一般是不让用户看到所以这样 while(($file_name = readdir($dh)) !== FALSE)
        {
           if($file_name='.' || $file_name='..'){
                continue;
           }
            
    }
      

  3.   

    linux 下输入 ls -a 你也能看到那两个东东的不是...
      

  4.   

    while (false !== ($file = readdir($handle))) {
            if ($file != "." && $file != "..") {
                echo "$file\n";
            }
        }