PHP:从5个文件夹中获取随机图像

时间:2014-03-05 05:07:03

标签: php image

我有5个文件夹,每个文件夹包含50个图像。

我想只显示5个文件夹中的10个随机图像。

我尝试使用以下代码来显示图像,但它只显示Tel文件夹中的所有图像,但我想显示5个文件夹中的随机图像。

<?php
$handle = opendir(dirname(realpath(__FILE__)).'/Tel/');

while($file = readdir($handle)){

  if($file !== '.' && $file !== '..'){
    print_r($file);
    echo '<img src="Tel/'.$file.'" border="0"  width="100" height="100"/>';
  }
}

1 个答案:

答案 0 :(得分:0)

$img_array = glob(dirname(realpath(__FILE__)).'/Tel/'.'*.{jpg,png,gif}', GLOB_BRACE);

另一个目录

array_merge($img_array, glob(dirname(realpath(__FILE__)).'/Tel/1'.'*.{jpg,png,gif}', GLOB_BRACE);
.
.
.
array_merge($img_array, glob(dirname(realpath(__FILE__)).'/Tel/5'.'*.{jpg,png,gif}', GLOB_BRACE);

随机5 images

// this function provide you 5 random keys of `$imgArr`
$rand_keys = array_rand($img_array, 5); 

然后,按此方式进行

foreach($rand_keys as $key){
    // $img_array[$key];  is file directory path, convert into `HTTP` path.

    $file_data = pathinfo($img_array[$key];); 
    //file name with extension $file_data['basename']; 
    // $dir_path get directory fetch as per your dir path   
    echo '<img src="'. $dir_path. $file_data['basename'].'" border="0"  width="100" height="100"/>';
}