Intereting Posts
file_get_contents («php: // input») или $ HTTP_RAW_POST_DATA, какой из них лучше получить тело запроса JSON? Как получить show_error () в CodeIgniter для загрузки представления? Соединение Mysql не работает на AWS EC2 PHP проверяет строку даты ISO 8601 PHP печатает имена полей SQL как массив с соответствующими значениями, отображаемыми один раз в строке Стандарты Strct: только переменные должны передаваться по ссылке Как использовать sha256 в php5.3.0 Объединение двух запросов с одним и тем же параметром привязки Как установить colspan динамически с помощью jquery? Многострочная диаграмма линейки Google, используя данные mySQL db Почему декремент NULL не отрицателен в этом массиве? CakePHP сеанс / авторизация прерывается PHP предупреждение getimagesize Ошибка «Только оригинальный поток, создавший иерархию представлений, может коснуться его представлений» в Android mogrify изменить размер имени файла с помощью скобки

Загрузить список изображений из папки

У меня есть папка с изображениями от 10 до 200, веб-страница, jQuery fade и php-скрипт, которые читают папку, полную изображений

Есть ли способ заставить php-скрипт сканировать папку, получить список изображений (в массиве?) И передать его сценарию jquery? (Первый вопрос)

Теперь я могу сделать xml-файл из найденного списка файлов результатов php или сделать html <li> из списка в html. есть ли другой способ сделать это? (вопрос 2)

Чтобы продолжить с превосходного ответа nickf , это немного более устойчиво для изображений разных типов.

 $imagesDir = 'path/to/your/images/'; $images = glob($imagesDir . '*.{jpg,jpeg,png,gif}', GLOB_BRACE); echo json_encode($images); 

Есть и другие способы сделать это, но это проще всего. Обратите внимание, что некоторые файловые системы чувствительны к регистру, поэтому убедитесь, что список расширений соответствует тому, что вам нужно.

функция glob сканирует папку и возвращает массив:

 $jpgs = glob("*.jpg"); 

вы можете передать его обратно в jQuery с помощью JSON:

 echo json_encode($jpgs); 

это будет просто случай перебора результата, генерирующий необходимый HTML.

Чтобы создать элементы списка, вы можете использовать что-то вроде этого (предполагая, что изображения являются результатом json_encode ()):

 var images = {'image1':'images/image1.jpg','image2':'images/image2.jpg'} jQuery('#imagelist').empty(); jQuery.each(images, function() { jQuery('#imagelist').append('<li>'+this+'</li>'); }); . var images = {'image1':'images/image1.jpg','image2':'images/image2.jpg'} jQuery('#imagelist').empty(); jQuery.each(images, function() { jQuery('#imagelist').append('<li>'+this+'</li>'); }); 

И убедитесь, что у вас есть неупорядоченный / упорядоченный список в источнике HTML:

 <ul id="imagelist"> <li>No images found</li> </ul> 

Вы не можете просто передавать изображения как «данные» в JavaScript для отображения, по крайней мере, не в разумном порядке.

Я попробую здесь ответить от многих

Алекс и Ник:

 <?php $imagesDir = 'path/to/your/images/'; $images = glob($imagesDir . '*.{jpg,jpeg,png,gif}', GLOB_BRACE); echo json_encode($images); ?> 

и от mattoc (доработать), чтобы привыкнуть к суперзамещенным

 jQuery('#imagelist').empty(); jQuery.each(images, function() { jQuery('#imagelist').append('<img src="'+this+'"/>'); }); 

и надеюсь получить что-то подобное в конце!

 <div id="supersize"> <img src="images/001.jpg"/> <img src="images/002.jpg"/> <img src="images/003.jpg"/> </div> 

для заключительной части кода мне нужно будет найти решение для отправки изображения на суперзаголовок «один за другим» с предварительной загрузкой без проблем с списком ошибок

Предположим, что я получаю список из 150 изображений … это будет проблемой, поэтому пусть плагин просто знает, что есть 2 изображения, предварительно загрузите следующий и «ajax» измените следующее изображение

 image001.jpg is display ... preload image002.jpg display image002.jpg ... preload image003.jpg on and on and on.... 

все это динамически до конца массива!