当前位置:首页 > PHP教程 > php函数 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2015-04-11 15:37:42 浏览: 评论:0 

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.   echo "文件名: " . $file . "<br />"
  6. $dir->close(); 
  7. ?> 
  8. //输出结果为: 
  9. 文件名: . 
  10. 文件名: .. 
  11. 文件名: logo.gif 
  12. 文件名: arrow.gif 
  13. 文件名: bg.gif 

例子代码如下:

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

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

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

语法:readdir(dir_stream)

例子,代码如下:

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

Tags: PHP遍历目录 dir()readdir()

分享到: