我们有时候需要读取目录里面的内容,在 PHP 有多个函数可以获取文件系统目录信息,今天就给大家分享 PHP 遍历目录的三种方法。
- function listDir($dir){
- $mydir = dir($dir);
- echo "<ul>";
- while($file = $mydir->read()){
- if((is_dir("$dir/$file"))){
- echo "<li>$file</li>";
- listDir("$dir/$file");
- }
- elseif($file!=="."&$file!=="..")
- echo "<li><a href='$dir/$file' target='_blank'>$file</a></li>";
- }
- echo "</ul>";
- $mydir->close();
- }
- listDir(".");
- function listDir2($dir) {
- $mydir=opendir($dir);
- echo "<ul>";
- while(($file=readdir($mydir))!==false) {
- if ($file!='.'&&$file!='..') {
- if (is_dir($file)) {
- echo "<li class='dir'>$file</li>";
- listDir2("$dir/$file");
- }else{
- echo "<li class='file'><a href='$dir/$file' target='_blank'>$file</a></li>";
- }
- }
- }
- closedir($mydir);
- echo "</ul>";
- }
- listDir2('.');
- function listDir3($dir) {
- $mydir=scandir($dir);
- echo "<ul>";
- foreach ($mydir as $key => $value) {
- if ($value!='.'&&$value!='..') {
- if (is_dir($value)) {
- echo "<li class='dir'>$value</li>";
- listDir3("$dir/$value");
- }else{
- echo "<li class='file'><a href='$dir/$value' target='_blank'>$value</a></li>";
- }
- }
- }
- echo "</ul>";
- }
- listDir3(".");
对于上面提到的3个函数,对执行速度没有做过测试,你可以按照你的习惯和喜欢选用一个。