配列メモリやデータベースを必要とせずにこれを行う方法は、増分画像命名規則に従うことです。たとえば、画像に「banner1.jpg」、「banner2.jpg」などの名前を付けます。次に、次のようにします。
$int_banners = 10; // the number of banner images you have
$i = rand(1, $int_banners);
echo "<a href='#'><img src='banner$i.jpg' alt=''></a>"; // add an iframe too if you want
このような規則を使用できない場合は、ファイル名だけで配列を作成できます(または、他の回答で提案されているように、SQLデータベースを使用してバナーを格納します)。
$lst_banners = array("img1.jpg", "/home/img2.jpg", "/about/img3.jpg");
$int_banners = count($lst_banners);
$i = rand(0, ($int_banners - 1));
echo "<a href='#'><img src='" . $lst_banners[$i] . "' alt=''></a>";
または、Zlatanが提案しているように、array_rand()を使用してファイル名を見つけることができます。
$lst_banners = array("img1.jpg", "/home/img2.jpg", "/about/img3.jpg");
$name = array_rand($lst_banners, 1);
echo "<a href='#'><img src='$name' alt=''></a>";