- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
VK приобрела 70% в структуре компании-разработчика red_mad_robot
Которая участвовала в создании RuStore
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
ТЗ - в папке лежат картинки (тумбы).
нужен максимально простейший скрипт на ПХП для вывода случайных
картинок (к примеру 9 штук) на странице и чтобы не было одинаковых.
находятся восновном тяжелые скрипты. либо случайный вывод только одной картинки.
накидал за 10 минут
<?php
function get_images($directory)
{
$filenames = array();
$directory = str_replace('\\', '/', $directory);
if(is_dir($directory))
{
$dp = opendir($directory);
while($filename = readdir($dp))
{
if(!is_dir($directory.'/'.$filename))
{
$file_ext = strtolower(substr($directory.'/'.$filename, strrpos($directory.'/'.$filename, '.')+1));
if(in_array($file_ext, array('jpg', 'gif', 'png')))
{
$filenames[count($filenames)] = $filename;
}
}
}
}
$dp = closedir();
return $filenames;
}
$path = '/images/'; // тут указываешь папку относительно корня веб дерева
$img_count = 9; // тут указываешь число картинок которое нужно выводить
$images = get_images($_SERVER["DOCUMENT_ROOT"].$path);
$i = 0;
while($images[$i])
{
$npic = rand(0, count($images)-1);
echo '<img src="'.htmlspecialchars($path.$images[$npic]).'" border="0" alt="">';
unset($images[$npic]);
$images = array_values($images);
$i++;
if($i>=$img_count) break;
}
?>
caspersky, в отличии от demon_id я не так силен в PHP, поэтому делаю все проще. Даю файлам имена типа 1.jpg, 2.jpg и т.п.
Потом вызываю их так:
<?php
{
$name=mt_rand($min=1,$max=9);//если полагать, что Вы имеете файли 1...9.jpg
echo"<img src='$name.jpg'>";
}
?>
Не заметил про случайность. Как правило я модифицирую это в зависимости от того, сколько случайных картинок нужно, но так же примитивно.
stalker37, кроме того что нужно картинки переименовать, такой скрипт будет иногда выводить одинаковые картинки.
demon_id, я просто сразу не заметил это - стараюсь использовать как можно меньше скриптов, так как если знаю, что вот я разок залью эти 10 картинок и менять не буду, то лучше их переименовать - так быстрее будет. Я, как правило, при совпадении номер одной увеличиваю.
Я, как правило, при совпадении номер одной увеличиваю.
рандом из 9 попыток может выдать одно и тоде число несколько раз. и даже если его увеличить на 1, то не факт что следующее число уже не выпадало.
ТС хочет выбирать n не повторяющихся картинок.
demon_id, а как вывести тумбы 3 на 3 ?