我想读取某一个文件夹下所有的文件名称!
<?php
//我的目录是/addmin/test
$path_parts = pathinfo($_SERVER['PHP_SELF']);$dir=$path_parts["dirname"];
if (is_dir($dir))
{
    if ($dh = opendir($dir)){
        while (($file = readdir($dh)) !== false){
            echo "文件名: $file <br>";
        }
        closedir($dh);
    }
}
?>
但是总读不出来!在opendir($dir)这里就报错!
在这里is_dir($dir)就返回false!应该怎么做请各位前辈指教!

解决方案 »

  1.   


    //$path是路径foreach(glob($path.'/*') as $file)
    {
         if(is_dir($file))
         {
              echo 'filename is : '.$file;
         }}
      

  2.   

    windows和linux的路径不同的。
    在保证有权限的情况下<?php
    $path_parts = pathinfo($_SERVER['PHP_SELF']);
    //将路径中的\替换为/,保证windows和linux下路径均正确
    $dir = str_replace("\\","/",$path_parts["dirname"]);//获取绝对路径
    $dir = substr($dir,0,1)== "/" ? $_SERVER["DOCUMENT_ROOT"] . substr($dir,1) : $_SERVER["DOCUMENT_ROOT"] . $dir;if (is_dir($dir))
    {
        if ($dh = opendir($dir)){
            while (($file = readdir($dh)) !== false){
                echo "文件名: $file <br>";
            }
            closedir($dh);
        }
    }
    ?>
      

  3.   


    foreach(glob("../test/*") as $file)
    {
         if(is_dir($file))
         {
              echo 'filename is : '.$file;
         }
         else 
         {
          echo "无";
         }
    }
    我改成这样了!打出的全是无!
      

  4.   

    2楼前辈
    在这行报错!Warning: opendir(D:/wamp/wwwadmin/test) [function.opendir]: failed to open dir: No such file or directory in D:\wamp\www\admin\test\testcode.php on line 43
    这是什么错误啊!
      

  5.   

    我打出的echo $dir;是错误的!D:/wamp/wwwadmin/test 
      

  6.   


    你的路径错误 ... 判断里只判断dir是否有, 除了文件夹你把文件也打印成无了
      

  7.   


    $dir = $_SERVER["DOCUMENT_ROOT"] . $dir;你改成这样好了。
      

  8.   


    //看代码,打印当前文件夹所有文件
    foreach(glob('./*') as $file)
    {
         if(is_file($file))
         {
              echo 'filename is : '.$file.'<br>';
         }
    }
      

  9.   


    $path_parts = pathinfo($_SERVER['PHP_SELF']);//将路径中的\替换为/,保证windows和linux下路径均正确
    $dir = str_replace("\\", "/", $path_parts["dirname"]);
    $root = str_replace("\\", "/", $_SERVER["DOCUMENT_ROOT"]);//获取绝对路径
    $dir = substr($root, -1) == "/" ? substr($root, 0, -1) . $dir : $root . $dir;if (is_dir($dir))
    {
        if ($dh = opendir($dir)){
            while (($file = readdir($dh)) !== false){
                echo "文件名: $file <br>";
            }
            closedir($dh);
        }
    }