folder_dir($path);//递归
改做
$back[] = folder_dir($path);//递归

解决方案 »

  1.   

    function folder_dir($dir){

    if (is_dir($dir)) {
                $back[] = $dir;//获取数据到数组
        if ($dh = opendir($dir)) {        while (($file = readdir($dh)) !== false ) {
             if(($file != "." && $file != "..")){             echo $path =$dir."/".$file;   //这里是对的      
                return  folder_dir($path);//递归  ///这里应该有一个 return 
             }
            
            }
            closedir($dh);
        }
    }
    return $back;
    }
      

  2.   


    //我自己弄的,用了静态变量
    function folder_dir($dir){
    static $i;
    static $back;
    if (is_dir($dir)) {
    $i++;
    $back[$i] = $dir;
        if ($dh = opendir($dir)) {
            while (($file = readdir($dh)) !== false ) {
             if(($file != "." && $file != "..")){
                $path =$dir."/".$file;         
                 folder_dir($path);
             }        
            }
            closedir($dh);
        }
    }
    return $back;
    }
      

  3.   

    !== 用来判断数据类型和值,
    1 != "1" return false;// 值相同
    1 !== "1" return true;// 但是类型不同xuzuning(唠叨) $back[] = folder_dir($path);//递归
    这里有个问题就是如果$path不是一个目录,那么就会返回一个空值,应该加个判断:
    if (is_dir($path)) $back[] = folder_dir($path);
    这样做的好处是可以看到目录结构。类似这样:
    Array
    (
        [0] => d:/www
        [1] => Array
            (
                [0] => d:/www/admin
                [1] => Array
                    (
                        [0] => d:/www/admin/css
                    )            [2] => Array
                    (
                        [0] => d:/www/admin/html
                        [1] => Array
                            (
                                [0] => d:/www/admin/html/css
                            )                    [2] => Array
                            (
                                [0] => d:/www/admin/html/js
                            )                )
             )
    )用静态变量的例子就是把目录名全部存一个一维数组里,但是结构没了。
      

  4.   

    folder_dir($dir,&$dirArry)
    传入指针法.不用静态.