Автор Тема: Случайная картинка  (Прочитано 3280 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Medalist

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 83
  • +0/-0
  • 0
    • Просмотр профиля
Случайная картинка
« : 19 Декабря 2006, 14:41:36 »
Есть папка с картинками нужен скрипт, который будет рандомно выбирать оттуда картинку и вставлять ее в заданное место на странице через инклюд всего на странице нужно отобразить 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

  • Любитель
  • Ветеран
  • *****
  • Сообщений: 720
  • +0/-0
  • 2
    • Просмотр профиля
Случайная картинка
« Ответ #1 : 19 Декабря 2006, 17:12:45 »
count - подсчет элементов массива
for - цикл.

for($i 0$i 6$i++)
{
   
//выбор случайного элемента.
   //желательно конечно еще проверять нет ли этого
   //элемента в уже выбранных, если есть, 
   //повторить случайный выбор.
}
« Последнее редактирование: 19 Декабря 2006, 17:29:53 от USE »
Не ходите, дети, без «Мозиллы» дальше localhost!

Оффлайн andymc

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 400
  • +1/-0
  • 0
    • Просмотр профиля
Случайная картинка
« Ответ #2 : 07 Января 2007, 13:45:03 »
Всё очень просто.
$names - массив, из которого нужно выбрать X случайных элеменов.

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

Ну а теперь

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

 

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