我正在使用客户端 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/