-
-
/**
- * 递归获取目录与子目录中的文件
- * by bbs.it-home.org
- */
function readFileFromDir($dir) {
- if (!is_dir($dir)) {
- return false;
- }
- //打开目录
- $handle = opendir($dir);
- while (($file = readdir($handle)) !== false) {
- //排除掉当前目录和上一个目录
- if ($file == "." || $file == "..") {
- continue;
- }
- $file = $dir . DIRECTORY_SEPARATOR . $file;
- //如果是文件就打印出来,否则递归调用
- if (is_file($file)) {
- print $file . '
';
- } elseif (is_dir($file)) {
- readFileFromDir($file);
- }
- }
- }
-
复制代码
调用方式:
-
- $dir = '/var/www/test';
- readFileFromDir($dir);
-
复制代码
查看php手册,发现一个方法scandir也可以使用,此方法会一次性获取单级目录下的所有文件,存放到数组中。
当目录中文件较多时,此方法不太适用。
|