
Иногда требуется вывести галерею фотографий или примеры собственных работ с выборкой из определённой папки.
В этом примере мы и рассмотрим код подобной галереи с комментариями:
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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
<?php /** * Класс фото-галереи на сайт * @author www.webinit.ru */ class Gallery { public function getGallery() { //Выбираем все содержимое папки images, и записываем из в массив $files $files = scandir("images/"); $gallery_files = array(); foreach ($files as $key => $value) { //Проходим по массиму //Проверяем файл или нет, если файл, то: if (filetype("images/" . $value) == "file") { $gallery_files[] = $value; //Записываем в массив } } return $gallery_files; //Возвращаем массив } } $obj = new Gallery(); $gallery = $obj->getGallery(); ?> <img src="" alt="" id="gallery" /> <div id="number_img"></div> <a href="javascript:void(0)" onclick="backImg(); this.blur();">Назад</a> / <a href="javascript:void(0)" onclick="nextImg(); this.blur();">Вперед</a> <script type="text/javascript"> var images = new Array(); var current_image_key = 0; //Переменная содержит номер текущей фотографии <?php foreach ($gallery as $key => $file) { //Проходим по всем фотографиям echo "images[$key] = new Image();\n\r"; //Создаем новый объект Images echo "images[$key].src = './images/$file';\n\r"; //Записываем путь к фотографии } ?> /** * Функция обновляет текущее изображение, и его номер */ function refreshImage() { //Изменяем изображение на текущее document.getElementById("gallery").src = images[current_image_key].src; //Изменяем надпись под изображением document.getElementById("number_img").innerHTML = (current_image_key+1) + " из " + images.length } /** * Следующая фотография */ function nextImg() { current_image_key++; //Увеличиваем текущую фотографию на 1 //Если достигнут конец, то делаем первую фотографию текущей if (current_image_key >= images . length) current_image_key = 0; refreshImage(); //Обновляем фотографию } /** * Предыдущая фотография */ function backImg() { current_image_key--; //Уменьшаем текущую фотографию на 1 //Если достигнуто начало, то делаем последнюю фотографию текущей if (current_image_key < 0) current_image_key = images . length - 1; refreshImage(); //Обновляем фотографию } refreshImage(); //Обновляем фотографию </script> |
.
No need to bring your laptop wit you http://cellspyapps.org/ everywhere because your library is only synced on this particular pc