1

我正在基于目录中的 php 文件构建页面导航。

目前我的目录中有 5 个文件:index.php、2.php、3.php、4.php、5.php

凭借我有限的 PHP 技能,我设法将代码显示为:[2] [3] [4] [5] [index]

但是,此时我遇到了一个有点超出我的路障。

我想让 [index] 显示为 [1],我希望首先显示 [1]。

我想让它看起来像这样:[1] [2] [3] [4] [5]

<?php
    $pathfiles = "../directory/";
    $files = glob("../directory/*.php");
    foreach( $files as $file ) {
        echo '[<a href="'.($pathfiles).''
        .basename($file).'">'
        .basename($file, ".php").'</a>] ';
    }
?>

任何帮助或线索将不胜感激。提前感谢您的宝贵时间。

4

2 回答 2

1
<?php
$pathfiles = "../directory/";
$files = glob("../directory/*.php");
$list = array();
    foreach($files as $file)
    {
        $nb = basename($file) == "index" ? "1" : basename($file);
        $list[$nb] = '[<a href="'.($pathfiles).''.basename($file).'">'.$nb.'</a>] ';
    }
    ksort($list);
    foreach ($list as $l)
    {
        echo $l;
    }
?>
于 2012-12-20T09:27:49.623 回答
1

在迭代之前,您需要将 index.php 值推到顶部;

$key = array_search('index.php', $files);
unset($files[$key]);
natsort($files);
array_unshift($files, 'index.php');

然后,在您的迭代中,只需查找值 index.php 并将其更改为 [1]

于 2012-12-20T09:28:26.863 回答