首页 > 语言 > PHP > 正文

PHP自定义遍历目录下所有文件dir(),readdir()函数

2024-09-04 11:49:11
字体:大 中 小
来源:转载
供稿:网友

php中遍历目录下文件函数有不少,下面本文章就来介绍dir(),readdir()函数遍历目录的例子,希望这些例子能给各位朋友带来帮助哦.

方法一:使用dir()遍历目录

dir()函数,成功时返回Directory类实例.

PHP dir() 语法格式为:

dir(directory);//directory为需要显示文件名的目录名称,可包含路径信息

PHP dir() 用法举例:列出upload目录下的所有文件名,代码如下:

  1. <?php 
  2. $dir = @ dir("upload");//打开upload目录;“@”可屏蔽错误信息,因有时候需要显示文件的目录内并没有文件,此时可能会报出错误,用“@”隐藏掉错误 
  3. //列举upload目录中的所有文件 
  4. while (($file = $dir->read()) !== false) 
  5. { 
  6.   echo "文件名: " . $file . "<br />"; 
  7. } 
  8. $dir->close(); 
  9. ?> 
  10. //输出结果为: 
  11. 文件名: . 
  12. 文件名: .. 
  13. 文件名: logo.gif 
  14. 文件名: arrow.gif 
  15. 文件名: bg.gif 

例子代码如下:

  1. function tree($dir) 
  2. { 
  3.     $mydir = dir($dir); 
  4.     while($file = $mydir->read()) 
  5.     { 
  6.         if($file != '.' && $file != '..') 
  7.         { 
  8.             if(is_dir("$dir/$file")) 
  9.             { 
  10.                 echo '目录名:'.$dir.DIRECTORY_SEPARATOR.'<font color="red">'.$file.'</font><br />';  //开源软件:Vevb.com 
  11.                 tree("$dir/$file"); 
  12.             }else{ 
  13.                 echo '文件名:'.$dir.DIRECTORY_SEPARATOR.$file.'<br />'; 
  14.             } 
  15.         } 
  16.     } 
  17.     $mydir->close(); 
  18. } 
  19. tree('./phpmyadmin'); 

方法二 使用readir()遍历目录

定义和用法:readdir() 函数返回由 opendir() 打开的目录句柄中的条目,若成功,则该函数返回一个文件名,否则返回 false.

语法:readdir(dir_stream)

例子,代码如下:

  1. header('content-type:text/html;charset=utf-8'); 
  2.  
  3. function listDir($dir) 
  4. { 
  5.     if(is_dir($dir)) 
  6.     { 
  7.         if($handle = opendir($dir)) 
  8.         { 
  9.             while($file = readdir($handle)) 
  10.             { 
  11.                 if($file != '.' && $file != '..') 
  12.                 { 
  13.                     if(is_dir($dir.DIRECTORY_SEPARATOR.$file)) 
  14.                     { 
  15.                         echo '目录名:'.$dir.DIRECTORY_SEPARATOR.'<font color="red">'.$file.'</font><br />'; 
  16.                         listDir($dir.DIRECTORY_SEPARATOR.$file); 
  17.                     }else{ 
  18.                         echo '文件名:'.$dir.DIRECTORY_SEPARATOR.$file.'<br />'; 
  19.                     } 
  20.                 } 
  21.             } 
  22.         } 
  23.         closedir($handle); 
  24.     }else{ 
  25.         echo '非有效目录!'; 
  26.     } 
  27. } 
  28. listDir('./phpmyadmin');

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表