ホームページ >バックエンド開発 >PHPチュートリアル >PHP でディレクトリをトラバースするコードの 2 つの例

PHP でディレクトリをトラバースするコードの 2 つの例

WBOY
WBOYオリジナル
2016-07-25 08:53:491086ブラウズ
  1. /*
  2. * ディレクトリをトラバースします
  3. * fopen()
  4. * fread()
  5. * fclose()
  6. * @opendir(ターゲットパス);E_WARNINE
  7. * readdir(ディレクトリ参照ハンドル) rewinddir ()
  8. * Closedir()
  9. *
  10. * プログラミングでは、ハンドルは特別なスマート ポインターです。アプリケーションが他のシステム (データベース、オペレーティング システムなど)
  11. * によって管理されているメモリ ブロックやオブジェクトを参照したい場合、ハンドルが使用されます。ハンドルと通常のポインタの違いは、
  12. * ポインタには参照されるオブジェクトのメモリ アドレスが含まれるのに対し、ハンドルはシステムによって管理される参照識別子である
  13. * この識別子はシステムによってメモリ アドレスに再配置される可能性があります。 。この間接オブジェクト アクセス モードにより、参照されるオブジェクトに対するシステムの制御が強化されます。
  14. * (Script Academy bbs.it-home.org)
  15. */
  16. $dirHandle=@opendir("phpMyAdmin") または die("ディレクトリを開くのに失敗しました");
  17. echo "phpMyAdmin ディレクトリ内のすべてのコンテンツは:
    ";
  18. echo readdir($dirHandle)."
    ";
  19. echo readdir($dirHandle)."
    ";
  20. while(($file=readdir($dirHandle) )!= =false)
  21. {
  22. $file="phpMyadmin".DIRECTORY_SEPARATOR.$file;
  23. if(is_dir($file))
  24. {
  25. echo "ディレクトリ: ".$file."
    ";
  26. }else
  27. {
  28. echo "ファイル: ".$file." ファイル サイズ: ".filesize($file)."KB
    ";
  29. }
  30. }
  31. rewinddir($dirHandle) // 最初に戻るハンドルの部分を削除し、再度トラバースします
  32. while(($file=readdir($dirHandle))!==false)
  33. {
  34. $file="phpMyadmin".DIRECTORY_SEPARATOR.$file;
  35. if($file!="." &&$file!=". .") //直接読み込まないでください
  36. {
  37. if(is_dir($file))
  38. {
  39. echo "Directory: ".$file."
    ";
  40. }else
  41. {
  42. echo "ファイル: ". $file." ファイル サイズ: ".filesize($file)."KB
    ";
  43. }
  44. }
  45. }
  46. closedir($dirHandle);
  47. ?>
コードをコピー

例 2、

  1. /*
  2. * ディレクトリをトラバースします
  3. *
  4. * class dir{
  5. * string path;
  6. * リソースハンドル;
  7. * string read(void);
  8. * void rewind(void);
  9. * void close(void);
  10. * }
  11. *
  12. * プログラミングにおいて、ハンドルは特別なスマート ポインターです。アプリケーションが他のシステム (データベース、オペレーティング システムなど)
  13. * によって管理されているメモリ ブロックやオブジェクトを参照したい場合、ハンドルが使用されます。ハンドルと通常のポインタの違いは、
  14. * ポインタには参照されるオブジェクトのメモリ アドレスが含まれるのに対し、ハンドルはシステムによって管理される参照識別子である
  15. * この識別子はシステムによってメモリ アドレスに再配置される可能性があります。 。この間接オブジェクト アクセス モードにより、参照されるオブジェクトに対するシステムの制御が強化されます。
  16. *
  17. */
  18. $d = dir("phpMyAdmin");
  19. echo "パスは: ".$d->path."
    ";
  20. echo "参照ハンドルは: ".$ d- >handle."
    ";
  21. // $d->read();
  22. // $d->read();
  23. while(($file=$d->read () )!==false)
  24. {
  25. if($file!="."&&$file!="..")
  26. {
  27. echo $file."
    ";
  28. }
  29. }
  30. $ d- >close();
  31. ?>
コードをコピー


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