Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Вывод случайных изображений из директории
 
 автор: UdeeX   (27.03.2007 в 13:17)   письмо автору
 
 

Есть папка img и в нем находятся картинки a.gif, b.gif, c.gif, d.gif, e.gif и f.gif.
Надо сделать так чтобы при каждом перезагрузки выводились 3 случайных рисунка из папки случайным образом.

Заранее спс.

   
 
 автор: bronenos   (27.03.2007 в 13:40)   письмо автору
 
   для: UdeeX   (27.03.2007 в 13:17)
 

<?php
$pics 
'abcdef';
for (
$i=0$i<3$i++)
  print 
"<img src='img/".$pics[rand(0,5)].".gif' />";
?>

   
 
 автор: Trianon   (27.03.2007 в 13:44)   письмо автору
 
   для: bronenos   (27.03.2007 в 13:40)
 

при таком подходе нет гарантии, что картинка не повторится в пределах тройки.
Тут стоило бы применить функцию shuffle()

   
 
 автор: bronenos   (27.03.2007 в 13:46)   письмо автору
 
   для: Trianon   (27.03.2007 в 13:44)
 

ну или заключить цикл в кавычки
и в переменной pics удалять только что выбранный элемент
еще можно привести список к массив и выполнить array_rand

хотя трианон тоже прав

   
 
 автор: UdeeX   (27.03.2007 в 14:22)   письмо автору
 
   для: bronenos   (27.03.2007 в 13:46)
 

А как можно организовать с помощью массива
Уточните пож.

   
 
 автор: UdeeX   (27.03.2007 в 14:32)   письмо автору
 
   для: Trianon   (27.03.2007 в 13:44)
 

Да вы правы попробовал. Выводяться случайные картинки, но они повторяются . Как быть?

   
 
 автор: Trianon   (27.03.2007 в 14:48)   письмо автору
 
   для: UdeeX   (27.03.2007 в 14:32)
 

применить функцию shuffle() к массиву с именами картинок.

   
 
 автор: tuder   (27.03.2007 в 14:51)   письмо автору
 
   для: UdeeX   (27.03.2007 в 14:32)
 

При конечном количестве объектов для показа и большем количестве показов - они ессно будут повторяться.

Кроме этого они будут показываться разным пользователям. Можно ли показывать разным пользователям одну и ту же картинку? Или нет?

Уточни, что требуется.

Если одному пользователю - использовать куки - но это изврат.

Если без разницы кому показывалось, но больше не показывать никому - после показа - сдвигать картинку в другую папку. И выбирать для показа из оставшихся.

Как кончатся так начинать в обратную сторону...

   
 
 автор: UdeeX   (27.03.2007 в 15:07)   письмо автору
 
   для: tuder   (27.03.2007 в 14:51)
 

Ваша мысль понятна(спс), но тут не важно кто загружает.

   
 
 автор: cheops   (27.03.2007 в 14:13)   письмо автору
 
   для: UdeeX   (27.03.2007 в 13:17)
 

Возможно вас заинтересует похожая тема http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=35000.

   
 
 автор: UdeeX   (27.03.2007 в 14:29)   письмо автору
 
   для: UdeeX   (27.03.2007 в 13:17)
 

Картинки должны выводиться случайном порядке и при выводе картинки не должны повторяться.

   
 
 автор: Unkind   (27.03.2007 в 14:47)   письмо автору
 
   для: UdeeX   (27.03.2007 в 14:29)
 

<?php
chdir
("./img/");
$files glob("*.gif");
shuffle($files);
for(
$i 0; ($i count($files)) && $i 3$i++)
{
echo(
"<img src='./img/" $files[$i] . "' alt='picture' /><br />\n");
}
?>

   
 
 автор: UdeeX   (27.03.2007 в 15:18)   письмо автору
 
   для: Unkind   (27.03.2007 в 14:47)
 

Спасибо. Работает.

   
 
 автор: udeex   (29.03.2007 в 12:58)   письмо автору
 
   для: Unkind   (27.03.2007 в 14:47)
 

А как определеннной катинке присвоить определенный урл?

   
 
 автор: cheops   (29.03.2007 в 14:19)   письмо автору
 
   для: udeex   (29.03.2007 в 12:58)
 

Не очень понятно, что имеется в виду?

   
 
 автор: tuder   (30.03.2007 в 06:49)   письмо автору
 
   для: udeex   (29.03.2007 в 12:58)
 

Самое простое, давать картинке имя урла.
Потом это имя (без расширения) вставлять в a href в качестве урла.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования