PHP构建图库导航

时间:2013-06-23 03:58:54

标签: php javascript jquery html ajax

我想知道是否可以使用我服务器的文件结构来自动构建图库的导航菜单。 目前我有一个简单的“展示”,其中包含指向不同图像文件夹的硬编码链接(使用jquery和ajax和php,有些东西我不太了解但是学会了如何使用教程等)。基本上,我有三个文件:

  • main.php
  • 的main.css
  • images.php

我在main.php上使用硬链接来调用images.php脚本,将包含图像的特定文件夹加载到主页上的div中。

以下是我当前的导航设置:

 <ul>
    <li><a href="#" onclick="loadPage('images.php?dirname=images/animals')">Animals</a></li>
    <li><a href="#" onclick="loadPage('images.php?dirname=images/people')">People</a></li>
    <li><a href="#" onclick="loadPage('images.php?dirname=images/objects')">Objects</a></li>
</ul>

我的问题是:由于我的所有图像都位于“images”目录下的子目录中,有没有办法可以使用“图像”中子目录的名称构建导航点(php脚本?) ? (这样当我添加更多文件夹时它会保持最新状态)

还有,由于某种原因,我不能让我的脚本上的变量包含'images.php?dirname = images /',有什么办法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

如果它们都在images目录中,您可以指定$image_path

<?php
$image_path = '/full/path/to/images';
if ($_GET['gallery']) {
    $gallery_path = $image_path . '/' . $_GET['gallery'];

    # if $_GET['gallery'] is `animals`:
    # 
    # $gallery_path = '/full/path/to/images/animals'

    # load your images within this path
}
?>

要使所有子目录都使用dir

<?php
$image_path = '/full/path/to/images';
$d = dir($image_path);
while (false !== ($entry = $d->read())) {
    if (is_dir($image_path . $entry)) {
        if (($entry != '.') || ($entry != '..')) {
            echo $entry; # or print your html code for each directory.
        }
    }
}
?>