ホームページ >バックエンド開発 >PHPチュートリアル >PHP はディレクトリとファイルのリストを反復処理します。

PHP はディレクトリとファイルのリストを反復処理します。

WBOY
WBOYオリジナル
2016-07-25 08:43:151089ブラウズ
  1. define('DS', DIRECTORY_SEPARATOR);
  2. class getDirFile{
  3. // 回数组を返します
  4. private $DirArray = array();
  5. プライベート $FileArray = array();
  6. プライベート $DirFileArray = array();
  7. プライベート $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[] = $ファイル;
  15. }
  16. }
  17. Closedir( $Handle );
  18. }
  19. }else{
  20. $DirArray[] = '[Path]:''.$Dir.'' はディレクトリではないか、見つかりません!';
  21. }
  22. $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[ ] = $ファイル;
  31. }
  32. }
  33. Closedir( $Handle );
  34. }
  35. }else{
  36. $FileArray[] = '[Path]:''.$Dir.'' はディレクトリではないか、見つかりません!';
  37. }
  38. $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.'' はディレクトリではないか、見つかりません!';
  52. }
  53. $DirFileArray を返します。
  54. }
  55. }
  56. ?>
复制代

例:(相对経路または绝对経路)

1.获取目录列表
  1. $Dir_dir = './example';
  2. $getDirFile = 新しい 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 = 新しい 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. ray
  2. [0] => example.sql
  3. [1] =>example.txt
  4. 复制代
3.获取目录/文件列表
$Dir_dir = './example';
$getDirFile = 新しい getDirFile();
    $getDirFile = $getDirFile->getDirFile( $Dir_dir );
  1. print_r($getDirFile);
  2. ?>
  3. 复制代
表示:
Array
(
[DirList] => Array
(
    [0] => example_one
  1. [1] => example_two
  2. )
  3. [FileList] => Array
  4. (
  5. [example_one] => 配列
  6. (
  7. [0] => example.sql
  8. [1] => example.txt
  9. )
  10. [example_two] => 配列
  11. (
  12. [0] => 例.php
  13. )
  14. )
  15. )
  16. 复制代
ファイルリスト、PHP


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。