【发布时间】:2014-09-18 17:22:04
【问题描述】:
我正在尝试从目录构建一个简单的画廊。我有这种情况:
- 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
谢谢。
【问题讨论】:
标签: php iterator directory gallery