javascript - 我可以使用 Javascript 获取文件目录列表吗?

标签 javascript csv d3.js directory

我正在使用客户端 Javascript,并且想要获取我认为与 .html 文件托管在同一服务器上的文件夹中的所有文件的列表。我对这些术语非常不熟悉,所以如果我不准确或完全错误,我提前道歉。

我目前使用d3.text("js/data/nodes#.csv", "text/csv", someFunction)加载到要使用的数据文件中。我认为,由于我想要的所有文件名都以相同的方式模板化,因此我可以通过循环所有可能的数字来破解解决方案,并且只获取有效调用的文件名,如下所示:

function getDirList() {
    var possiblePathsList = something predetermined;
    var directoryList = [];

    possiblePathsList.forEach(function(path){
        if (isPath(path)) { directoryList.push(path); }
    });

    return directoryList;
}

function isPath(path){
    d3.text(path, "text/csv", function(data){   
        return (data !== null);
    });
}

因为我可以通过这种非常垃圾的方式获得列表,所以我认为一定有一些(非常非常)优雅的方法来实现我的目标。这可能吗?

最佳答案

根据定义,如果您使用客户端 JavaScript,则它无权访问服务器的文件夹结构。您可以编写一个单独的 ajax 调用或具有服务器端脚本(无论何种语言)的内容,该脚本将遍历目录并将它们打印到 json 文件中,然后您就可以在那里使用 javascript 进行处理。像这样的事情:

ajax.php:

$directory = "temp/";

$dir = opendir($directory);

$structure = array();

while($file = readdir($dir)){
  $structure[] = $file;
}

print json_encode($structure);
exit();

然后你将有一些 javascript 调用该脚本并解析 json 文件

关于javascript - 我可以使用 Javascript 获取文件目录列表吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26150336/

相关文章:

javascript - 如何在列更改位置时获取事件?

python - DictReader 的类型错误

php - 如何在 PHP 中读取带有 BOM 的 UTF CSV 文件?

javascript - 堆积面积图在百分比比例和绝对比例之间切换的更好方法是什么?

javascript - 如何以 Angular 动态创建n级嵌套展开/折叠组件

javascript - 不断丢失 session 状态 ASP.NET

javascript - 多次更改元素的 ID

c# - 如何使用 CSVHelper 编写非平面类的 header ?

javascript - 如何将 D3 csv 数据放入不同的变量中

javascript - d3 v4 圆环图具有与小值重叠的文本和折线