-2

PHPを使用してディレクトリ内のすべての画像をフェッチしていますが、このためにいくつかの関数を作成しないようにする方法を探しています。私のコードは次のようになります:

function getAllImages() {
    $dir = "images/work/*";  
    foreach(glob($dir) as $file)  
    {  
        echo '<img src="'.$file.'">';
    }  
}

そして、私は外部ファイルで関数を呼び出しています

getAllImages();

物事は; ファイルは「work」ディレクトリのサブフォルダにある必要があるため、基本的に1つのサブディレクトリはimages / work / project1であり、「project1」というプロジェクトの画像が含まれます。

これを行う簡単な方法は、「getAllImagesProject1」などの複数の関数を作成することですが、私が望むのは、パラメータ(または同様のもの)を使用して、次のようなサブディレクトリにアクセスすることです。

getAllImages('project1');

私は決してコードウィザードではないので、誰かがこれを機能させる方法を知っていればいいのですが!これを読んでくれてありがとう!

4

2 に答える 2

1

多分あなたはこれを試してみるべきです:

function getAllImages($directory) {
    $dir = "images/work/{$directory}/*";  
    foreach(glob($dir) as $file)  
    {  
        echo '<img src="'.$file.'">';
    }  
}
于 2013-02-24T19:19:51.383 に答える
1

画像を出力する前に、画像も検証する必要があると思います

function getAllImages($path) {
    $it = new FilesystemIterator($path, FilesystemIterator::SKIP_DOTS);
    $it = new RegexIterator($it, '#\.(gif|png|jpg|jpeg)$#i');
    foreach ( $it as $img )
        @getimagesize($img) and printf("<img src='%s' />", $img);
}
于 2013-02-24T19:36:48.447 に答える