PHP循环与文件夹列表中的动态图像

时间:2016-02-13 16:33:03

标签: php foreach

我有一个名为loop-images的文件夹,它有一组图像。我也有下面的php循环:

foreach ($feed as $feed_id => $feed_title){
    echo '<img src="/loop-images/01.jpg" border="0"><br>';
    echo '<a href="/?id='.$feed_id.'">'.$feed_title.'</a>';
}

在循环中我有一个固定的图像,但我想从loop-images文件夹动态使用图像。所以基本上,在第一个循环中它应该使用第一个图像,依此类推。如果循环中的图像用完,则它会再次从第一张图像开始。

我是如何实现这一目标的?

由于

2 个答案:

答案 0 :(得分:0)

也许你想要完成的事情是这样的。

使用scandir函数和正则表达式使用preg_match php函数匹配所有图像

foreach(scandir('/path/to/loop-images/') as $key => $file) {
    if (preg_match('/[\s\S]+\.(png|jpg|jpeg|tiff|gif|bmp)/iu', $file)) {
        echo '<img src="loop-images/' . $file . '" border="0"><br>';
    }
}

答案 1 :(得分:0)

以下是您可以尝试的内容

    $directory = "/loop-images"; // path to loop images folder

    $images = glob($directory . "*.jpg");

    $imagescounter = 0; foreach ($feed as $feed_id => $feed_title){
    if($imagescounter>count($images)){
       $imagescounter = 0;
    }

    echo '<img src="/loop-images/'.$images[$imagescounter].'.jpg" border="0"><br>';
    echo '<a href="/?id='.$feed_id.'">'.$feed_title.'</a>';
    $imagescounter++; 
    }