使用php浏览本地目录和文件

时间:2011-11-16 01:14:58

标签: php

而不是传统的导航,我试图模仿终端导航,或者你如何用vim导航。 例如:

..
index
otherfile

这是我的代码:

$dir = realpath(dirname(__FILE__));
if(is_dir($dir)){
    if($open = opendir($dir)){
        while(($file = readdir($open)) !==false){
        if(is_dir($file)){
             if($file == '.'){ }
             else{
                echo "<a href=".$file.">".$file."</a><br/>";
            }
        } 
        else{       
        $name = explode('.php',$file);
        echo "<a href=".$file.">".$name[0]."</a><br/>";
        }
        }

    }
}
else{
    echo $dir." Was not found";
    }
 }
  1. 如何从列表中删除我所在的文件或文件夹?例如,如果我在页面index.php上,它仍然出现在列表中。

  2. 我想通过给它们一个例子'1file.php''2anotherfile.php'来排序文件。 我怎么能用数字对它们进行排序,然后删除数字和'.php',最后打印出来?

  3. 如果你想重构一些东西,请这样做......

    enter image description here

1 个答案:

答案 0 :(得分:1)

  1. “如何从列表中删除我所在的文件或文件夹?例如,如果我在页面index.php上,它仍然出现在列表中。”
  2. 只检查当前项目是否是当前文件,如果是,则跳过它:

    else {
        if ($name == basename(dirname(__FILE__))) continue; // if this is the current file, go to the next iteration of the loop
        $name = explode('.php',$file);
        echo "<a href=".$file.">".$name[0]."</a><br/>";
    }
    

    请注意,这假设您与文件位于同一目录中(因为$dir始终是脚本所在的目录,因此它可以执行),如果不是,您也可以添加目录检查。< / p>

    1. “如何在文件或文件夹的开头添加一个数字,例如1index.php,然后在代码上,按编号组织所有文件和文件夹,并打印出没有数字和'.php的文件“?“
    2. 嗯,我不太清楚你的意思,但是如果你的意思是按字母顺序排序,那么当你得到列表时,它已经按字母顺序排序。