0

私の目標は、ファイルから画像を取得して PHP 配列にし、その配列を Javascript 配列に変換して、スライドショーに使用できるようにすることです。そうすれば、新しい画像をファイルに追加するときにコードを手動で更新する必要がなくなります。

私はJavascriptの部分に苦労しています。JSON関数を使用してPHP配列をJavascript配列に変換できることは知っていますが、その関数を適切に使用する方法がわかりません。

これは、「slike」というファイルからすべての写真を表示する私の PHP コードです。

 <?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 に答える