我有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"/>';
}
}
答案 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"/>';
}