3

我想在 javascript 的帮助下动态显示目录中的所有图像。我怎样才能做到这一点?

4

3 回答 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 回答