是在百度php吧中看到有人问的,然后在他原本的基础上修改了下。
修改后的代码如下:

判断文件夹是否存在

<form action="" method="post" name="form">
<input type="text" maxlength="120" name="dirs" size="100" />
<input type="submit" name="ruesin" value="进入目录" />
</form>

////php
if(isset($_POST['phplgx']) && !empty($_POST['dirs'])){
    $dirpath=trim($_POST['dirs']);
    if(file_exists($dirpath)){
        $dir=opendir($dirpath);
        while(false!==($file=readdir($dir))){
            if($file!="."&& $file!=".."){
                if(is_dir($dirpath."/".$file)){
                    echo "文件夹$file";
                }else{
                    echo "文件$file";
                }
            }
        }
    }else{
        echo "您输入的目录不正确!请重新输入";
    }
}else{
    echo "输入目录不能为空。";
}

主要改了两个地方。

1、修改前if(isset($_POST[‘phplgx’]) && empty($_POST[‘dirs’])) 判断的时候没有判断提交的目录为空 修改后if(isset($_POST[‘phplgx’]) && !empty($_POST[‘dirs’]))

2、修改前if(is_dir($file)) 修改后if(is_dir($dirpath.”/”.$file))
原因很简单:在w3school查一下is_dir的用法说明就很容易懂了——如果文件名存在并且为目录,则返回 true。如果 file 是一个相对路径,则按照当前工作目录检查其相对路径。