-1

多数の画像を含むフォルダからランダムに 4 枚の画像を選択したいと考えています。

表示したいのは、4 つのランダムな異なる画像を表示できるテーブル (2x2) です。

フォルダーからランダムに異なるファイルを選択して、それらのパスを変数に保存し、これらの変数を使用してテーブルに画像をランダムに表示する方法を教えてください。

フォルダなどからランダムにファイルを選択できる特定の機能はありますか?

4

2 に答える 2

0
  1. glob()ディレクトリからすべてのファイルを取得するために使用します。
  2. array_rand()配列からランダムなエントリを取得するために使用します。
于 2012-06-09T16:53:47.543 に答える
0
<?php




    function get_imagess($root) {

    $r = array();
    $r = array();
    $k = glob("$root/*");
    shuffle($k);
    foreach($k as $n) {
        if (is_dir($n)) {
            break;
            //$r = array_merge($r, get_imagesss($n));
            print_r("xxx");
        } else {
           $r[] = $n;
           //print_r($n + "yeah");     
        }
    }
    return $r;
}

    function get_images($root) {

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

    return $r;
}


$files = get_images('.');
//print_r($files);
//break;





shuffle($files);
$true=true;
    $extList = array();
    $extList['gif'] = 'image/gif';
    $extList['jpg'] = 'image/jpeg';
    $extList['jpeg'] = 'image/jpeg';
    $extList['png'] = 'image/png';
        $ass=0;
while($true)
    {
        $ass=$ass+1;
        if($ass>100){$true=false;}
        $imageInfo = pathinfo($files[0]);
        if (isset( $extList[ strtolower( $imageInfo['extension'] ) ] )){

    $temp = substr($files[0], -5);  
    $temp = strtolower($temp);
    if( $temp == "p.jpg"){shuffle($files);}  // checking if jpg has a preview file
    else{  // no preview found
    $true=false;
    //print_r($temp);
    }}
    else
        {
        shuffle($files);
        //print_r('bad' + $temp);
        }
}

//print_r($files[0]);
echo '<HTML><meta HTTP-EQUIV="Refresh" CONTENT="5; URL=./ImageRotateMaybe.php"><img src="';
echo $files[0];
echo ' " width=100%>';
?>
于 2012-12-23T15:00:37.193 に答える