-1

需要帮助生成文件夹链接的 php 脚本/页面。有一个主页,其中包含我使用 Lightroom 上传的照片——每个相册都在一个单独的文件夹中。

结构是:

mysite.com  
  |--images  
    |--folder1  
    |--folder2  
    |--folder3  
    .  
    . 

所以我想最终得到一个动态的 index.php 文件,它生成指向“images”所有子文件夹的链接,而不是我在 mysite.com 的根目录中获得的静态 index.html 文件:

<html>
  <body>
    <a href="mysite.com/images/folder1" target="_blank">folder1</a>
    <a href="mysite.com/images/folder2" target="_blank">folder2</a>
    <a href="mysite.com/images/folder3" target="_blank">folder3</a>
    .
    .
  </body>
</html>

提前感谢

4

3 回答 3

1
<?php
    $files = scandir();
    $dirs = array(); // contains all your images folder
    foreach ($files as $file) {
        if (is_dir($file)) {
           $dirs[] = $file;
        }
    }
?>

使用 dirs 数组动态生成链接

于 2013-07-20T02:09:14.360 回答
0

尝试这样的事情:

$contents = glob('mysite.com/images/*');
foreach ($contents as content) {
    $path = explode('/', $content);
    $folder = array_pop($path);
    echo '<a href="' . $content . '" target="_blank">' . $folder . '</a>';
}

或者这个:

if ($handle = opendir('mysite.com/images/') {
    while (false !== ($content = readdir($handle))) {
        echo echo '<a href="mysite.com/images/' . $content . '" target="_blank">' . $content . '</a>';
    }
    closedir($handle);
}
于 2013-07-20T01:59:32.313 回答
0

也许是这样的:

$dir = "mysite.com/images/";
$dh = opendir($dir);
while ($f = readdir($dh)) {
  $fullpath = $dir."/".$f;
  if ($f{0} == "." || !is_dir($fullpath)) continue;
  echo "<a href=\"$fullpath\" target=\"_blank\">$f</a>\n";
}
closedir($dh);

当我需要所有东西(即something/*)时,我更喜欢readdir()速度glob()更少的内存消耗(逐个文件读取目录文件,而不是把整个东西放在一个数组中)。

如果我没记错的话,glob()确实省略了.*文件并且不需要$fullpath变量,所以如果你追求速度,你可能想做一些测试。

于 2013-07-20T02:15:45.513 回答