我可以使用JavaScript来获取文件目录列表?(Can I use Javascript to

2019-10-21 02:00发布

我使用的客户端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);
    });
}

因为我可以在这个垃圾方式的列表,我相信一定有实现我的目标的一些(很多很多)巧妙的方法。 这可能吗?

Answer 1:

根据定义,如果你正在使用客户端的JavaScript,它不能访问到服务器的文件夹结构。 你可以写一个单独的Ajax调用或东西,将有一个服务器端脚本(在任何的langauge),将经过目录,并打印出来,以一个JSON文件,你然后能有你的JavaScript来处理。 事情是这样的:

ajax.php:

 $directory = "temp/"; $dir = opendir($directory); $structure = array(); while($file = readdir($dir)){ $structure[] = $file; } print json_encode($structure); exit(); 

然后,你将有一些JavaScript调用该脚本,并通过JSON文件解析



文章来源: Can I use Javascript to get a file directory list?