Программирование > 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\'>";
}
Навигация
Перейти к полной версии