dru5089 2010-11-17 15:08 采纳率: 0%
浏览 57
已采纳

返回函数不工作,但echo在PHP中工作

i have the following function when i try and return the vaule its only shows 1 folder but when i echo the function it show the correct informaion.

PHP Code:

$FolderList = "";

function ListFolder($path) {
    $path = str_replace("//","/",$path);

    //using the opendir function
    $dir_handle = @opendir($path) or die("Unable to open $path");

    //Leave only the lastest folder name
    $dirname = end(explode("/", $path));

    //display the target folder.
    $FolderList .= ('<option value="">'.$path.'</option>');

    while(false !== ($file = readdir($dir_handle))) {
        if($file!="." && $file!="..") {
            if(is_dir($path."/".$file)) {
                //Display a list of sub folders.
                ListFolder($path."/".$file);
            }
        }
    }

    //closing the directory
    closedir($dir_handle);

    return $FolderList; //ERROR: Only Shows 1 Folder
    echo $FolderList; //WORKS: Show All The Folders Correctly
}

Thanks

  • 写回答

5条回答 默认 最新

  • douxiezha9319 2010-11-17 15:22
    关注

    Give this a shot:

    function ListFolder($path)
    {
        $path = str_replace("//","/",$path);
    
        //using the opendir function
        $dir_handle = @opendir($path) or die("Unable to open $path");
    
        //Leave only the lastest folder name
        $dirname = end(explode("/", $path));
        //display the target folder.
        $FolderList = ('<option value="">'.$path.'</option>');
        while (false !== ($file = readdir($dir_handle)))
        {
            if($file!="." && $file!="..")
            {
                if (is_dir($path."/".$file))
                {
                    //Display a list of sub folders.
                    $FolderList .= ListFolder($path."/".$file);
                }
            }
        }
    
    
        //closing the directory
        closedir($dir_handle);
    
        return $FolderList;
    }
    
    echo ListFolder('/path/to/folder/');
    

    I simply changed the $FolderList to be assigned to the return value of the ListFolder function.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 phython如何实现以下功能?查找同一用户名的消费金额合并—
  • ¥15 孟德尔随机化怎样画共定位分析图
  • ¥18 模拟电路问题解答有偿速度
  • ¥15 CST仿真别人的模型结果仿真结果S参数完全不对
  • ¥15 误删注册表文件致win10无法开启
  • ¥15 请问在阿里云服务器中怎么利用数据库制作网站
  • ¥60 ESP32怎么烧录自启动程序
  • ¥50 html2canvas超出滚动条不显示
  • ¥15 java业务性能问题求解(sql,业务设计相关)
  • ¥15 52810 尾椎c三个a 写蓝牙地址