iterator — простая галерея PHP с DirectoryIterator

Я пытаюсь построить простую галерею из каталога. У меня есть этот сценарий:

- 2013                <-- directory
-- Album 1          <-- directory
-- image1.jpg    <-- file
-- image2.jpg
-- image3.jpg
-- Album 2
-- image1.jpg
- 2014
-- Album 1
-- image1.jpg
-- image2.jpg
-- Album 2
-- image1.jpg

Я думал что DirectoryIterator Я могу просто сделать это, но я не могу понять, как это работает и вызывает функции.

До сих пор:

Распечатать список лет

function listYears(){
$basefolder = "gallery/";
foreach (new DirectoryIterator($basefolder) as $fileInfo) {
if($fileInfo->isDot()) continue;
if($fileInfo->isFile()) continue;
echo '<a href="index.php?year='. $fileInfo->getFilename() .'">'. $fileInfo->getFilename() .'</a><br>';
}
true;
}

Распечатать список альбомов в выбранном году

function listAlbums($year){
$basefolder = 'gallery/'. $year;
foreach (new DirectoryIterator($basefolder) as $fileInfo) {
if($fileInfo->isDot()) continue;
if($fileInfo->isFile()) continue;
echo '<a href="index.php?year='. $year .'&album='. $fileInfo->getFilename() .'"></a>';
}
true;
}

И, наконец, получить изображения

function getImages($year,$album){
$basefolder = "gallery/";
foreach (new DirectoryIterator($basefolder) as $fileInfo) {
if($fileInfo->isDot()) continue;
if($fileInfo->isDir()) continue;
echo '<img src="'. $basefolder.''. $year.'/'. $album .'/'. $fileInfo->getFilename() .'">';
}
true;
}

Итак, я пытаюсь сделать что-то вроде

www.site.com/gallery.php?year=2014

и просматривать альбомы 2014 года, так что вы можете выбрать

www.site.com/gallery.php?year=2014&album=album_name

и просматривать фотографии из этого альбома.

Еще лучше было бы

www.site.com/gallery/2014/album_name

Спасибо.

0

Решение

Вы можете использовать folioGallery. Это фотогалерея php, которая использует вашу файловую систему для создания галереи.

Скачать ссылку для того же: http://www.foliopages.com/php-jquery-ajax-photo-gallery-no-database

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]