Программирование > PHP

Случайная картинка

(1/1)

Medalist:
Есть папка с картинками нужен скрипт, который будет рандомно выбирать оттуда картинку и вставлять ее в заданное место на странице через инклюд всего на странице нужно отобразить 6  картинок, чтобы при этом они не повторялись

Вот что я написал


<?php

$folder = \'ththumbs\'; // Путь к картинкам
$ext = \'.jpg\'; // Расширение картинок
$names = array();
if ($handle = opendir($folder)) {
while (false !== ($file = readdir($handle))) {
if (strpos($file, $ext) > 1) {
$names[] = $file;
}
}
closedir($handle);
}



$number1 = rand (1, count($names)) - 1;
$number2 = rand (2, count($names)) - 1;
$number3 = rand (3, count($names)) - 1;
echo \'<img src="\', $folder."/".$names[$number1], \'">\';
echo \'<img src="\', $folder."/".$names[$number2], \'">\';
echo \'<img src="\', $folder."/".$names[$number3], \'">\';


?>

Но тут нельзя задать количество картинок . . . как мне это зделать?

USE:
count - подсчет элементов массива
for - цикл.

for($i = 0; $i < 6; $i++)
{
   //выбор случайного элемента.
   //желательно конечно еще проверять нет ли этого
   //элемента в уже выбранных, если есть, 
   //повторить случайный выбор.
}

andymc:
Всё очень просто.
$names - массив, из которого нужно выбрать X случайных элеменов.

shuffle($names); // перемешиваем
$names = array_slice($names,0,X); // выбираем первые X элементов

Ну а теперь

foreach ($names as $v){
  echo "<img src=\'$folder/$v\'>";
}

Навигация

[0] Главная страница сообщений

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии