当前位置:Gxlcms > PHP教程 > PHP遍历目录和文件列表

PHP遍历目录和文件列表

时间:2021-07-01 10:21:17 帮助过:24人阅读

  1. define('DS', DIRECTORY_SEPARATOR);
  2. class getDirFile{
  3. //返回数组
  4. private $DirArray = array();
  5. private $FileArray = array();
  6. private $DirFileArray = array();
  7. private $Handle,$Dir,$File;
  8. //获取目录列表
  9. public function getDir( & $Dir ){
  10. if( is_dir($Dir) ){
  11. if( false != ($Handle = opendir($Dir)) ){
  12. while( false != ($File = readdir($Handle)) ){
  13. if( $File!='.' && $File!='..' && !strpos($File,'.') ){
  14. $DirArray[] = $File;
  15. }
  16. }
  17. closedir( $Handle );
  18. }
  19. }else{
  20. $DirArray[] = '[Path]:\''.$Dir.'\' is not a dir or not found!';
  21. }
  22. return $DirArray;
  23. }
  24. //获取文件列表
  25. public function getFile( & $Dir ){
  26. if( is_dir($Dir) ){
  27. if( false != ($Handle = opendir($Dir)) ) {
  28. while( false != ($File = readdir($Handle)) ){
  29. if( $File!='.' && $File!='..' && strpos($File,'.') ){
  30. $FileArray[] = $File;
  31. }
  32. }
  33. closedir( $Handle );
  34. }
  35. }else{
  36. $FileArray[] = '[Path]:\''.$Dir.'\' is not a dir or not found!';
  37. }
  38. return $FileArray;
  39. }
  40. //获取目录/文件列表
  41. public function getDirFile( & $Dir ){
  42. if( is_dir($Dir) ){
  43. $DirFileArray['DirList'] = $this->getDir( $Dir );
  44. if( $DirFileArray ){
  45. foreach( $DirFileArray['DirList'] as $Handle ){
  46. $File = $Dir.DS.$Handle;
  47. $DirFileArray['FileList'][$Handle] = $this->getFile( $File );
  48. }
  49. }
  50. }else{
  51. $DirFileArray[] = '[Path]:\''.$Dir.'\' is not a dir or not found!';
  52. }
  53. return $DirFileArray;
  54. }
  55. }
  56. ?>

实例:(相对路径或绝对路径)

1.获取目录列表
  1. $Dir_dir = './example';
  2. $getDirFile = new getDirFile();
  3. $getDir = $getDirFile->getDir( $Dir_dir );
  4. print_r($getDir);
  5. ?>
  6. 显示:
  7. [html] view plaincopy
  8. Array
  9. (
  10. [0] => example_one
  11. [1] => example_two
  12. )

2.获取文件列表
  1. $File_one_dir = './example/example_one';
  2. $File_two_dir = 'E:/Workspace/mycode/getDirFile/example/example_two';
  3. $getDirFile = new getDirFile();
  4. $getFile_one = $getDirFile->getFile( $File_one_dir );
  5. $getFile_two = $getDirFile->getFile( $File_two_dir );
  6. print_r($getFile_one);
  7. print_r($getFile_two);
  8. ?>

显示:
  1. Array
  2. (
  3. [0] => example.sql
  4. [1] => example.txt
  5. )
  6. Array
  7. (
  8. [0] => example.php
  9. )

3.获取目录/文件列表
  1. $Dir_dir = './example';
  2. $getDirFile = new getDirFile();
  3. $getDirFile = $getDirFile->getDirFile( $Dir_dir );
  4. print_r($getDirFile);
  5. ?>

显示:
  1. Array
  2. (
  3. [DirList] => Array
  4. (
  5. [0] => example_one
  6. [1] => example_two
  7. )
  8. [FileList] => Array
  9. (
  10. [example_one] => Array
  11. (
  12. [0] => example.sql
  13. [1] => example.txt
  14. )
  15. [example_two] => Array
  16. (
  17. [0] => example.php
  18. )
  19. )
  20. )

文件列表, PHP

人气教程排行