Forum Webscript.Ru

Программирование => PHP => Тема начата: Medalist от 19 Декабря 2006, 14:41:36

Название: Случайная картинка
Отправлено: Medalist от 19 Декабря 2006, 14:41:36
Есть папка с картинками нужен скрипт, который будет рандомно выбирать оттуда картинку и вставлять ее в заданное место на странице через инклюд всего на странице нужно отобразить 6  картинок, чтобы при этом они не повторялись

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



$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 \'\';
echo \'\';
echo \'\';


?>
 
Но тут нельзя задать количество картинок . . . как мне это зделать?
Название: Случайная картинка
Отправлено: USE от 19 Декабря 2006, 17:12:45
count - подсчет элементов массива
for - цикл.

for($i = 0; $i < 6; $i++)
{
   //выбор случайного элемента.
   //желательно конечно еще проверять нет ли этого
   //элемента в уже выбранных, если есть,
   //повторить случайный выбор.
}
Название: Случайная картинка
Отправлено: andymc от 07 Января 2007, 13:45:03
Всё очень просто.
$names - массив, из которого нужно выбрать X случайных элеменов.

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

Ну а теперь

foreach ($names as $v){
  echo "";
}