2014-03-05 67 views
0

我有5個文件夾,每個文件夾包含50幅圖像得到隨機圖像。PHP:從5個文件夾

我想從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

閱讀conten將文件夾放入數組中,然後從數組中選擇10個隨機條目。 –

+0

['array_rand()'](http://au2.php.net/manual/en/function.array-rand.php)將幫助你在這裏。 – Marty

回答

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); 

對於rendom 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"/>'; 
} 
+0

不從不同目錄獲取圖像..得到以下警告:警告:array_rand():第二個參數必須是1和數組中的元素在 –

+0

'$ directory_1'或'$ directory_2'的數量之間應該是正確的路徑。你有問題。 **我想從5個文件夾中只顯示10個隨機圖像。** – Girish

+0

是的,這是我的問題$ directory_1 ='/ Tel /'; $ directory_2 ='/ 2 /'; $ directory_3 ='/ 3 /'; $ directory_4 ='/ 4 /'; $ directory_5 = '/ 5 /';這是5 diretoriies –

相關問題