douyue7536 2016-07-27 06:21
浏览 54
已采纳

使用PHP获取包含页面的目录的直接路径

  • Root
    • First_Folder
      • First_Folder_Pages
      • First_Folder_JS(js script here for ajax)
      • First_Folder_DB(php script that is linked from ajax request)
    • Second_Folder
      • Second_Folder_Pages
      • Second_Folder_JS(js script here for ajax)
      • Second_Folder_DB(php script that is linked from ajax request)

How can I get the direct path on the folder with names containing Pages using jQuery or PHP

Expected Output is like: ../../First_Folder/First_Folder_Pages or ../../Second_Folder/Second_Folder_Pages

  • 写回答

1条回答 默认 最新

  • dongnanman9093 2016-07-27 06:48
    关注

    This function w'd be enough for file list. Just make an ajax call to it, json_encode to output before send back to javascript

    function scan($dir)
        {
            $output = array();
            $handle = opendir($dir);
    
            if ($handle != false) {
                while ($file = readdir($handle)) {
                    if ($file == '.' || $file == '..')
                        continue;
    
                    $path = $dir . '/' . $file;
    
                    if (is_dir($path))
                        $output += scan($path);
                    else
                        $output[] = $path;
                }
            }
    
            return $output;
        }
    

    İf you want to add folders to array too, just change the if statement like;

    if (is_dir($path))
        $output += scan($path);
    
    $output[] = $path;
    

    Also you can use RecursiveDirectoryIterator class too: stackoverflow

    UPDATE

    Just erase the "else" keyword if you want to add folders too in output.

    If you call function like;

    scan('/root/');
    

    The output will give you results like;

    '/root/First_Folder/First_Folder_file1',
    '/root/Second_Folder/Second_Folder_file1',
    '/root/Second_Folder/Second_Folder_file2'
    

    But if u erase "else" keyword, you will get results like;

    '/root/First_Folder',
    '/root/First_Folder/First_Folder_file1',
    '/root/Second_Folder',
    '/root/Second_Folder/Second_Folder_file1',
    '/root/Second_Folder/Second_Folder_file2' 
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 ogg dd trandata 报错
  • ¥15 高缺失率数据如何选择填充方式
  • ¥50 potsgresql15备份问题
  • ¥15 Mac系统vs code使用phpstudy如何配置debug来调试php
  • ¥15 目前主流的音乐软件,像网易云音乐,QQ音乐他们的前端和后台部分是用的什么技术实现的?求解!
  • ¥60 pb数据库修改与连接
  • ¥15 spss统计中二分类变量和有序变量的相关性分析可以用kendall相关分析吗?
  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错