Форум программистов, компьютерный форум, киберфорум
Наши страницы

PHP для начинающих

Войти
Регистрация
Восстановить пароль
 
Jaspen
0 / 0 / 0
Регистрация: 19.06.2015
Сообщений: 5
#1

Вывод по одной случайной картинке из нескольких каталогов - PHP

19.06.2015, 15:54. Просмотров 353. Ответов 5
Метки нет (Все метки)

Доброго времени суток! У меня такая проблема. Надо сделать список альбомов галереи с превьюшками. БД нет. Фото лежат в каталогах. Вывести рандомно одну картинку получается, а вот несколько нет. Думаю, что надо перебрать каталоги в цикле, но с реализацией проблемы. Или тут без БД не обойтись?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.06.2015, 15:54
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Вывод по одной случайной картинке из нескольких каталогов (PHP):

Вывод из нескольких бд одной и тойже колонки - PHP
Есть база characters в ней таблица characters, а уже в ней колонка online. аналогично этому есть еще одна бд characters2 в ней все та же...

вывод каталогов и файлов - PHP
почему показываются только файлы текущего каталога? а надо пройти рекурсивно по всем каталогам и вывести все файлы на экран <?php ...

вывод случайной переменой? - PHP
вот есть переменные и надо что бы на экран вывелась одна какая то случайная и при обновлении страницы она тоже обновлялась опять на...

Вывод нескольких каталогов ZOO - Joomla
Доброго времени суток. Перейду сразу к сути дела: необходимо вывести на одной странице несколько каталогов ZOO(естественно разных). это...

Вывод нескольких запросов в одной таблице - MS Access
Добрый день. Задача такая. Есть таблица с некоторыми данными. Из нее делается несколько запросов, каждый, соответственно, выводится в...

Вывод из бд в одной из колонок нескольких значений - MySQL
Делаю запрос такой: select addr.*, (SELECT ip_addr FROM device WHERE id_addr=addr.id) as addr_device from addr; Есть таблица addr и...

5
crautcher
2018 / 1990 / 176
Регистрация: 27.05.2011
Сообщений: 6,835
19.06.2015, 16:03 #2
Цитата Сообщение от Jaspen Посмотреть сообщение
Вывести рандомно одну картинку получается, а вот несколько нет.
Создайте массив картинок и http://php.net/manual/ru/function.shuffle.php его. Если их много, то лучше в базе конечно держать все пути.
0
Evfemizm
0 / 0 / 0
Регистрация: 19.06.2015
Сообщений: 9
19.06.2015, 21:11 #3
PHP
1
2
3
4
5
6
7
$files = scandir($dir);
foreach($files as $file) {
    if(is_dir($file)){
 
//выбираем картинку рандомную
}
}
только не забудьте еще проверку сделать, что $file не равен "." или ".."
0
Jaspen
0 / 0 / 0
Регистрация: 19.06.2015
Сообщений: 5
19.06.2015, 21:17  [ТС] #4
Собственно массив картинок не проблема. Но как сделать чтобы выводилась одна картинка из каждого каталога и при клике на эту картинку открывался тот альбом, где она есть?
0
Evfemizm
0 / 0 / 0
Регистрация: 19.06.2015
Сообщений: 9
19.06.2015, 21:35 #5
скриптом выше мы перебираем не массив картинок, а массив папок с картинками и если это папка, то внутри нее выбираем картинку. соответственно url будет вида

PHP
1
2
3
4
$images = scandir('/gallery/');
$r= rand(2, count($images));//первые два элемента - это . и ..
$img = $images[$r];
echo $file."/".$img;
как-то так
это конечно вариант в случае если вы уверены, что там 100% только картинки, а так еще проверочку бы поставить

Добавлено через 7 минут
резюмируя

PHP
1
2
3
4
5
6
7
8
9
10
$files = scandir($dir);
foreach($files as $file) {
    if(is_dir($file) && $file != "." && $file != ".."){
 
        $images = scandir($file);
        $r= rand(2, count($images));//первые два элемента - это . и ..
        $img = $images[$r];
        echo $file."/".$img;//это картинка
    }
}
0
Jaspen
0 / 0 / 0
Регистрация: 19.06.2015
Сообщений: 5
22.06.2015, 17:22  [ТС] #6
Спасибо, Evfemizm, но этот код выводит путь до картинки, а не саму картинку. Почему? Я конечно не гуру PHP но обычно, погуглив немного решаю поставленные задачи, а тут не выходит.
0
22.06.2015, 17:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.06.2015, 17:22
Привет! Вот еще темы с ответами:

Вывод нескольких запросов пользователей на одной странице - PHP БД
Подскажите как реализовать вывод запросов пользователя на страницу сайта как показано на картинке? т.е. каждый результат запроса...

Как сделать вывод нескольких чисел в одной строке? - C#
Как сделать вывод нескольких чисел в одной строчке? Вот код static void Main(string args) { int a, b, c; ...

Удаление файлов по нескольким маскам из нескольких каталогов - CMD/BAT
Помогите со скриптом. Задача следующая. Имеется некая программа к которой подключены базы данных. Каждая база находится в своем каталоге....

Одновременное чтение содержимого каталогов в нескольких процессах - C++ Linux
Здравствуйте! Каким образом можно осуществить выполнение поиска файлов в нескольких процессах одновременно? У меня возникла трудность...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru