function walk_file($path) { $res = array(); if (is_array($path)) { foreach ($path as $p) { $res = array_merge($res, walk_file($p)); } } elseif (is_string($path)) { if (file_exists($path)) { if (is_dir($path)) { $files = scandir($path); foreach ($files as $file) { if ($file == '.' || $file == '..') { continue; } $file = $path . '/' . $file; $res = array_merge($res, walk_file($file)); } } elseif (is_file($path)) { array_push($res, $path); } } } return $res; }
function walk($path, $filter) { //echo 'walking '.$path."\n"; if (is_dir($path)) { walk_dir($path, $filter); } if (is_file($path)) { walk_file($path, $filter); } }