2012-02-27 24 views
1

PHPを使用して、自分のサイトの複数のサブフォルダからランダムな画像を取得するのに最適な方法を見つけようとしています。 RecursiveDirectoryIteratorを使用してサブフォルダを繰り返し、イメージを抽出しますが、ランダム化を処理する方法と効率的に処理する方法が不思議です。これについてどうやって行くのかアドバイスはありますか?PHP - 複数のフォルダからランダムな画像を取得する

+0

私はファイル名とディレクトリ名を読み取ることができると信じています。配列で入力し、array_rand関数を使用してください。http://php.net/manual/en/function.array-rand.php –

答えて

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をすべて$arrayにロードし、mt_rand(0, count($array)-1)を選択します。

ディレクトリを再イテレートするのを避けるために、リストが変更されない限りキャッシュすることができます。

関連する問題