function readDirFiles($dir){ ???$files= []; ???$queue=[realpath($dir)]; ???$currentPath = current($queue); ???while($currentPath) { ???????$path = $currentPath; ???????if (is_dir($path) && $handle = opendir($path)) { ???????????while ($file = readdir($handle)) { ???????????????if ($file == ‘.‘ || $file == ‘..‘) continue; ???????????????$filepath = $path . ‘/‘ . $file; ???????????????if (is_dir($filepath)) { ???????????????????$queue[] = $filepath; ???????????????}else { ???????????????????$files[] = $filepath; ???????????????} ???????????} ???????????closedir($handle); ???????} ???????$currentPath = next($queue); ???} ???return $files;}print_r($readDirFiles(‘./‘));exit;function readDirFiles2($path, &$files = []){ ???if (is_dir($path) && $handle = opendir($path)) { ???????while ($file = readdir($handle)) {// ???????????if(strpos($file, ‘.‘) === 0) {// ???????????????continue;// ???????????} ???????????if ($file == ‘.‘ || $file == ‘..‘) continue; ???????????$filePath = $path . ‘/‘ . $file; ???????????if (is_dir($filePath)) { ???????????????readDirFiles2($filePath, $files); ???????????}else { ???????????????$files[] = $filePath; ???????????} ???????} ???????closedir($handle); ???} ???return $files;}readDirFiles2(‘./‘, $paths);print_r($paths);exit;
PHP递归和非递归遍历文件夹下文件
原文地址:https://www.cnblogs.com/qixidi/p/10206076.html