0

我的目标是将图像从文件中提取到 PHP 数组中,然后将该数组转换为 Javascript 数组,然后我可以将其用于幻灯片。这样,当我将新图像添加到文件时,我就不必手动更新我的代码。

我在 Javascript 部分苦苦挣扎。我知道我可以以某种方式使用 JSON 函数将 PHP 数组转换为 Javascript 数组,但我不知道如何正确使用该函数。

这是我的 PHP 代码,它显示了一个名为“slike”的文件中的所有图片:

 <?php
    $dir =          'slike';
    $file_display = array('jpg','jpeg','png');

    if (file_exists($dir) === false){
        echo "Directory ".$dir." doesn't exist!";
    }

    else {
        $dir_contents = scandir($dir);

        foreach ($dir_contents as $file){
            $file_typeExplode = explode('.', $file);
            $file_type = strtolower(end($file_typeExplode));

            if($file !== '.' && $file !== '..' && in_array($file_type, $file_display) === true){
                echo '<img src = "', $dir, '/', $file, '" alt ="', $file, '" />';

            }
        }
    }
?>  
4

1 回答 1

0

不确定“转换为 javascript 数组”部分的真正含义,但我认为您想从 html 页面 (DOM) 中的内容开始在 javascript 中构造一个数组。

首先,您必须识别包含所有图像的页面元素,例如它是 name 的 id foo

<div id="foo">
    <img src....>
</div>

然后在 javascript 中迭代 div 的所有子元素(即图像)并用它们构造一个数组。

var arry = [];
var images = document.getElementById('foo').childNodes;
for(i=0; i<nodes.length; i++) {
    arry.push(nodes[i]);
}

您还可以为所有图像提供一个类并迭代所有图像document.getElementsByClassName

于 2013-07-06T14:25:53.707 回答