2

私の Web サイトの特定の場所に画像があり、ユーザーがページをリロードすると、同じ場所に別の画像が表示されるはずです。30 枚の画像があり、リロードするたびにランダムに変更したいと考えています。それ、どうやったら出来るの?

4

5 に答える 5

8

次のように、持っている「画像情報」(ファイル名またはパス)で配列を作成します

$pictures = array("pony.jpg", "cat.png", "dog.gif");

を介してその配列の要素をランダムに呼び出します

echo '<img src="'.$pictures[array_rand($pictures)].'" />';

奇妙に見えますが、機能します。

于 2012-05-27T12:50:58.667 に答える
2

ランダムな画像を選択する実際の行為には、乱数が必要になります。これに役立ついくつかの方法があります。

特に配列を扱っている場合、2 番目の関数は最初の関数を使用するためのショートカットと考えることができます。したがって、たとえば、表示したいものを選択する画像パスの配列がある場合、次のようにランダムなものを選択できます。

$randomImagePath = $imagePaths[array_rand($imagePaths)];

指定していない他の方法で画像を保存/取得している場合はarray_rand()、簡単に使用できない場合があります。しかし、最終的には、乱数を生成する必要があります。したがって、これにはいくつかの使用rand()が機能します。

于 2012-05-27T12:49:59.053 に答える
1

データベースに情報を保存する場合は、ランダムな画像を選択することもできます。

MySQL:

SELECT column FROM table
ORDER BY RAND()
LIMIT 1

PgSQL:

SELECT column FROM table
ORDER BY RANDOM()
LIMIT 1

ベスト、フィリップ

于 2012-05-27T13:12:11.350 に答える
0

私は最近、ページの読み込みごとに異なる背景を読み込むこれを作成しました。定数を画像へのパスに置き換えるだけです。

それが行うことは、imagedirectoryをループし、そこからランダムにファイルを選択することです。このように、配列やデータベースなどで画像を追跡する必要はありません。imagedirectoryに画像をアップロードするだけで、画像が(ランダムに)選択されます。

次のように呼び出します:

$oImg = new Backgrounds ;
echo $oImg -> successBg() ;


<?php

class Backgrounds
{

  public function __construct()
  {
  }

  public function succesBg()
  {  
    $aImages = $this->_imageArrays( \constants\IMAGESTRUE, "images/true/") ; 
    if(count($aImages)>1)
    {
      $iImage   = (int) array_rand( $aImages, 1 ) ;
      return $aImages[$iImage] ;
    }
    else
    {
      throw new Exception("Image array " . $aImages . " is empty");
    }
  }


  private function _imageArrays( $sDir='', $sImgpath='' )
  {
    if ($handle = @opendir($sDir)) 
    {
      $aReturn = (array) array() ;
      while (false !== ($entry = readdir($handle))) 
      {
        if(file_exists($sDir . $entry) && $entry!="." && $entry !="..")
        {
          $aReturn[] = $sImgpath . $entry ;
        }
      }
      return $aReturn ;
    }
    else
    {
      throw new Exception("Could not open directory" . $sDir . "'" );
    }
  }

}

?>
于 2012-05-27T13:45:27.667 に答える
0

ポップアップでランダムな画像を作成する簡単な方法は、以下の方法です。

(注:画像の名前を「1.png」、「2.png」などに変更する必要があります)

<?php
//This generates a random number between 1 & 30 (30 is the
//amount of images you have)
$random = rand(1,30);

//Generate image tag (feel free to change src path)
$image = <<<HERE
<img src="{$random}.png" alt="{$random}" />
HERE;
?>

* Content Here *

<!-- Print image tag -->
<?php print $image; ?>

この方法は簡単で、ランダムな画像が必要なときはいつもこれを使用します。

お役に立てれば!;)

于 2012-05-27T13:22:19.130 に答える