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 for IndexOptions and mod_autoindex. It seems like there's no built in way to configure the output.
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_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);