php递归获取目录内文件(包含子目录)的代码

WBOY
發布: 2016-07-25 08:55:18
原創
892 人瀏覽過
  1. /**

  2. * 递归获取目录与子目录中的文件
  3. * by bbs.it-home.org
  4. */
  5. function readFileFromDir($dir) {

  6. if (!is_dir($dir)) {
  7. return false;
  8. }
  9. //打开目录
  10. $handle = opendir($dir);
  11. while (($file = readdir($handle)) !== false) {
  12. //排除掉当前目录和上一个目录
  13. if ($file == "." || $file == "..") {
  14. continue;
  15. }
  16. $file = $dir . DIRECTORY_SEPARATOR . $file;
  17. //如果是文件就打印出来,否则递归调用
  18. if (is_file($file)) {
  19. print $file . '
    ';
  20. } elseif (is_dir($file)) {
  21. readFileFromDir($file);
  22. }
  23. }
  24. }
复制代码

调用方式:

  1. $dir = '/var/www/test';
  2. readFileFromDir($dir);
复制代码

查看php手册,发现一个方法scandir也可以使用,此方法会一次性获取单级目录下的所有文件,存放到数组中。 当目录中文件较多时,此方法不太适用。



來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!