In PHP è semplice ottenere il listato di una directory in formato JSON.
La soluzione è la seguente:
header('Content-Type: application/json');
$directory = $_SERVER['DOCUMENT_ROOT'] . '/files';
$files = array_diff(scandir($directory), array('..', '.'));
$output = [];
$finfo = finfo_open(FILEINFO_MIME_TYPE);
foreach($files as $file) {
$mime = finfo_file($finfo, $directory . '/' . $file);
$data = [
'src' => '/files/' . $file,
'type' => $mime
];
$output[] = $data;
}
echo json_encode($output);
exit();