【问题标题】:Simple PHP gallery with DirectoryIterator带有 DirectoryIterator 的简单 PHP 库
【发布时间】: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


    【解决方案1】:

    您可以使用 folioGallery 这是一个 php 照片画廊,它使用您的文件系统生成画廊。

    相同的下载链接:http://www.foliopages.com/php-jquery-ajax-photo-gallery-no-database

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多