获取服务器目录中文件列表的最简单方法
Easiest way to get list of files in the server directory
我需要在目录(例如www.example.com/images/)中获得所有图像(或简单的所有文件)的数组。我更喜欢使用JavaScript,但它很难制作。我应该用PHP吗?
你能帮帮我吗?我不擅长这个。
非常感谢!
我不同意@mariobgr的回答。如果没有服务器设置阻止目录列表,那么通过请求该目录生成的html可以解析其内容。
$ tree maindir
maindir
├── index.html
└── somedir
├── doc1
├── doc2
└── doc3
index . html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible"><!-- JQUERY -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js">
</script>
<title></title>
</head>
<body>
<h1>Listing /somedir</h1><!-- Custom Script (defered load, after dom ready) -->
<script>
$.getJSON('./somedir', data => {
console.log(data); //["doc1.jpg", "doc2.jpg", "doc3.jpg"]
});
</script>
</body>
Javascript不能获取服务器上的所有文件,因为它是一种客户端语言。
http://php.net/manual/en/function.glob.php就是你需要的。
$all = glob('/path/to/dir/*.*');
$images = glob('/path/to/dir/*.{jpg,png,gif}');
我设法在基础javascript中使用修改后的ajax命令来获取文件夹列表作为html文件。然后我从里面提取文件名:
function loadDoc() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
// gets the entire html file of the folder 'logpost' in this case and labels it thing
thing = this.responseText
searchFor = /.html</g
a=0;
b=0;
var str = "";
// greps file for .html and then backs up leter by letter till you hot the file name and all
while ((dothtmls = searchFor.exec(thing)) != null ){
str = "";
console.log(dothtmls.index);
a = dothtmls.index;
while (thing[a] != '>' ){
a--;
}
a++;
while(thing[a] != '<'){
str = str + thing[a];
a++;
}
console.log(str);
}
}
};
xhttp.open("GET", "logpost/", true);
xhttp.send();
}
这可能不是最干净的方式,但如果你是在一个静态的web服务器上工作,它应该工作:)
相关文章:
- JQuery:向多个匹配结果添加换行符的最简单方法
- 访问对象的最简单方法'的单独财产
- 在Scroll上更新CSS代码:简化它就不会了'不要使用JQuery和最简单的Javascript
- 什么'这是使用jQuery将一些文本锚定到外部链接的最简单方法
- 什么是处理JavaScript的最简单的网络抓取工具
- 实施会员系统的最简单方法是什么
- 我需要最快、最简单的方法来在 Javascript 中绘制数据
- 出错时更改文本字段边框的最简单方法
- JavaScript:获取第一个月前 6 个月的日期的最简单方法
- 在CreateJS中加载视频的最简单方法
- 对于 MEAN 堆栈 docker 容器来说,在 OS X 和 DigitalOcean 上具有相同配置的最简单设置是什
- 使用JavaScript过滤从网页复制的文本的最简单方法
- 从Javascript数组加载下拉列表并使用angularjs设置选定值的最简单方法
- MVC5使用AJAX搜索项目和添加列表的最简单方法
- 在图像列表中导航的最简单方法是什么?
- 使用 jquery 或 javascript 在 html 列表中选择列表项的最简单方法是什么?
- 获取服务器目录中文件列表的最简单方法
- 在Backbone中表示任意深度嵌套列表的最简单方法
- 最简单的方法来创建存储javascript游戏高分列表的服务器
- 用HTML显示可编辑列表(如电子表格)的最简单方法是什么