2009-04-17 4 views
2

У меня есть папка изображений, от 10 до 200, веб-страницы, в Jquery замирания и PHP скрипт, который гласил папку с изображениямисписок Загрузка изображения из папки

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

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

ответ

11

Чтобы продолжить с nickf's excellent answer, это несколько более устойчиво для изображений разных типов.

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

echo json_encode($images); 

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

0

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

+0

Я думаю, что он просто хотел бы путей к изображениям. – nickf

+0

Я вижу ...В этом вопросе ничего не было ясно. –

+0

Некоторые люди, похоже, понимают вопрос! – menardmam

6

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

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

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

echo json_encode($jpgs); 

было бы тогда просто случай зацикливания результата, генерирования необходимого HTML.

+0

Есть намного лучшие и более безопасные способы получить список каталогов (например, http://php.net/manual/en/class.directoryiterator.php#88459), но да., Получить список и вывести его на HTML для JQuery для обработки и сборки галереи. –

+0

Я добавил ответ, похожий на ваш ответ, надеюсь, вы не возражаете против Ника. – alex

+0

Почему «Есть намного лучшие и более безопасные способы получить список каталогов». Некоторые люди, кажется, думают, что глобус в порядке, пожалуйста, сравните оба, чтобы заставить меня выбирать разумно! – menardmam

1

Для создания элементов списка вы могли бы использовать что-то вроде этого (предполагая, что изображения является результатом 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>'); 
}); 

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

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

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

Алекс и Ник:

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

и от mattoc (изменить), чтобы использовать для supersized

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 изображения, поджать следующий и «Аякс» не измените следующее изображение

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

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

Смежные вопросы