PHP采用自定义函数实现遍历目录下所有文件的方法

这篇文章主要介绍了PHP采用自定义函数实现遍历目录下所有文件的方法,是PHP程序开发中常见的功能,需要的朋友可以参考下。

目录的遍历是PHP程序设计中经常会用到的一个功能,很多PHP项目都有这一功能模块。今天本文就来实例解析一下PHP采用自定义函数实现遍历目录下所有文件的方法。具体方法如下:

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

实现代码如下:

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

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

本例采用dir()函数遍历,执行成功时返回Directory类实例

  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 />';
  11. tree("$dir/$file");
  12. }else{
  13. echo '文件名:'.$dir.DIRECTORY_SEPARATOR.$file.'<br />';
  14. }
  15. }
  16. }
  17. $mydir->close();
  18. }
  19. tree('./phpmyadmin');

除此之外,还有很多实现目录遍历的方法,相信本文所述方法能够给大家的PHP程序设计带来一定帮助。