2

我是一名摄影师,这就是我想要实现的目标:我正在尝试展示更多的“书籍”,例如这些书籍:http: //builtbywill.com/code/booklet/

我可以复制上面链接中为 ONE Album/book 提供的示例,但我的画廊中有 20 多张专辑要显示,我不想复制/粘贴 20 多次相同的代码并更改路径 20 多次等。所以我决定在 php 中做一些事情:

我有文件夹说 IMAGES/ALBUMS/ALBUM1 到 ALBUM10

我需要扫描 IMAGES/ALBUM 并为找到的每个 ALBUM1 到 ALBUMx 文件夹显示所有图像,如下所示:

这是我到目前为止的代码:

function mySlider()
{
        $album = array(
            'Asia i Marcin' => 'images/albums/asiamarcin/',
            'Aneta i Marcin' => 'images/albums/anetamercin/',
        );
        $dir = $album['Asia i Marcin'];
        //$dir = 'images/asiamarcin/';
        $scan = scandir($dir);  

        for ($i=0; $i<count($scan); $i++) {  
            if ($scan[$i] != '.' && $scan[$i] != '..') {  
            echo ' 
                    <div>
                         <img width="450" heigth="385" src="'. $dir . $scan[$i] . '" alt="'. $scan[$i] . '" /> 
                    </div> 
                ';  
            }    

        }   
}

它远非完美,到目前为止,我将它插入到我的 html 中,如下所示:

<div class="b-load">
    <?php mySlider(); ?>
</div>

我明白了:

 <div>
 <img width="450" heigth="385" src="images/albums/asiamarcin/asiamarcin01.jpg" alt="asiamarcin01.jpg" /> 
 </div> 
 <div>
 <img width="450" heigth="385" src="images/albums/asiamarcin/asiamarcin02.jpg" alt="asiamarcin02.jpg" /> 
 </div> 
 <div>
 <img width="450" heigth="385" src="images/albums/asiamarcin/asiamarcin03.jpg" alt="asiamarcin03.jpg" /> 
 </div> 

理想情况下,我会这样称呼它:

<div class="b-load">
   <?php mySlider('ALBUM1'); ?>
</div>
....
....
<div class="b-load">
  <?php mySlider('ALBUM2'); ?>
</div>
...etc...

我不知道该怎么做:(我不是程序员,但我想学习,所以我很感激你的帮助。谢谢你,亚历克斯

4

1 回答 1

1

这将做:

function mySlider($dirName)
{
    $dir = 'images/albums/' . $dirName . '/';
    $scan = scandir($dir);  

    for ($i=0; $i<count($scan); $i++) {  
        if ($scan[$i] != '.' && $scan[$i] != '..') {  
        echo ' 
                <div>
                     <img width="450" heigth="385" src="'. $dir . $scan[$i] . '" alt="'. $scan[$i] . '" /> 
                </div> 
            ';  
        }    

    }   
}
于 2012-09-21T14:54:03.043 回答