封裝成了一個方法,代碼如下:
Php代碼
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 . '<br />'; } elseif (is_dir($file)) { readFileFromDir($file); } } }
調用方式:
Php代碼
$dir '/home/www/testtest';
查看php手冊的話,還有一個方法scandir也可以使用,但這個方法會一次獲取單級目錄下的所有文件,存放到數組裡,如果目錄裡的文件比較多的話,會卡。