Apache directory listing as json

前端 未结 2 1076
慢半拍i
慢半拍i 2020-12-11 04:03

Is it possible to have the directory listing in apache return json instead of html?

I\'m completely unexperienced with Apache, but I\'ve browsed the documentation fo

相关标签:
2条回答
  • 2020-12-11 04:06

    You could use mod_dir as follows - create a php script and list your directories how you want (set content-type as appropriate).

    0 讨论(0)
  • 2020-12-11 04:11

    I looked at the code in apache source in modules/generators/mod_autoindex.c and the HTML generation is static. You could rewrite this to output JSON, simply search for all the ap_rputs and ap_rvputs function calls and replace the HTML with the appropriate JSON. That's seems like a lot of work though.

    I think I would do this instead...

    In the Apache configuration for this site, change to...

    DirectoryIndex ls_json.php index.php index.html
    

    And then place ls_json.php script into the any directory for which you want a JSON encoded listing:

    // grab the files
    $files = scandir(dirname(__FILE__));
    
    // remove "." and ".." (and anything else you might not want)
    $output = [];
    foreach ($files as $file)
      if (!in_array($file, [".", ".."]))
        $output[] = $file;
    
    // out we go
    header("Content-type: application/json");
    echo json_encode($output);
    
    0 讨论(0)
提交回复
热议问题