2012-02-27 68 views
1

我想弄清楚最好的方式,使用PHP,從我的網站上的多個子文件夾拉一個隨機圖像。我將使用RecursiveDirectoryIterator來遍歷子文件夾並提取圖像,但我想知道如何處理隨機化以及如何有效地執行它。有關如何解決此問題的任何建議?PHP - 從多個文件夾中獲取隨機圖像

+0

我相信你可以讀取文件名和目錄名,將它填充到數組中然後使用array_rand函數http://php.net/manual/en/function.array-rand.php – 2012-02-27 17:31:25

回答

2
function get_images($root) { 

    $r = array(); 
    foreach(glob("$root/*") as $n) { 
     if (is_dir($n)) { 
      $r = array_merge($r, get_images($n)); 
     } else { 
      $r[] = $n; 
     } 
    } 

    return $r; 
} 

$files = get_images('foo'); 
shuffle($files); 
echo $files[0]; 
3

爲迭代終點創建一個隨機數(而$ i < 10)。在此之前,您可以創建另一個隨機會話來選擇目錄。


將所有圖像讀入數組,然後選擇一個隨機索引。

0

將所有完整的$path s加載到$array中並選擇mt_rand(0, count($array)-1)

只要不更改,您可能想要緩存列表,以避免重新遍歷目錄。

相關問題