我想在 javascript 的帮助下动态显示目录中的所有图像。我怎样才能做到这一点?
问问题
10995 次
3 回答
4
我不相信这是可能的,但是如果您向 ASP.NET 或 PHP(或类似)页面发出 AJAX 请求,他们可以列出文件夹中的文件并将其返回以供 Javascript 显示。
跨域策略显然适用。
如果您使用的是 PHP,您应该对目录使用递归来获取完整的文件结构。PHP 有一个可以使用的扫描目录函数。
基本代码示例:
function listdir($folder) {
if (!is_dir($folder)) {
return array(); //empty if not a folder
}
$return = scandir($folder);
$subfolders = array();
array_shift($return); //first two values are always .. & .
array_shift($return);
foreach ($return as $key => $value) {
if (is_dir($value)) {
unset($return[$key]);
$subfolders[$value] = listdir($value); //recursively analyse the subdirectory
}
}
return array_merge(array_values($return), $subfolders);
}
注意:这还没有测试,如果它不起作用,请告诉我。
于 2012-06-08T05:20:52.150 回答
2
基本的 PHP 示例:
<?php
foreach(glob("/path/to/images/{*.gif,*.jpg,*.png,*.jpeg,*.bmp}", GLOB_BRACE) as $image){
echo '<img src="'.$image.'">';
}
于 2012-06-08T05:24:55.957 回答
1
除非目录有索引或者您事先知道文件名,否则无法使用纯 javascript 执行此操作。仍然使用 php 的替代方法如下:
向 php 文件发送ajax请求,数据为目录名
然后 PHP 文件使用 , 等命令访问
opendir
目录readdir
内容scandir
。有关通过 php readdir/scandir 命令或此(通过 glob)读取目录的更多详细信息,请参阅此SO 问题或此链接PHP 文件将文件名(此处为图像名称)作为 json 对象返回。
在客户端,ajax 响应以 json 对象的形式出现。
完毕!您拥有该文件夹中的所有图像。
于 2012-06-08T05:24:26.673 回答