function opendir_recursive($dir, $recall) { if (is_dir($dir)) { if ($dh = opendir($dir)) { while (($file = readdir($dh)) !== false) { if ($file != "." && $file != "..") { if (is_dir($dir . $file)) { opendir_recursive($dir . $file . "/", $recall); } else { call_user_func_array($recall, array($dir . $file)); } } } closedir($dh); } } }
function opendir_recursive($dir, $recall, $skip_keywords = array()) { if (is_dir($dir)) { if ($dh = opendir($dir)) { while (($file = readdir($dh)) !== false) { if ($file != "." && $file != ".." && !in_array($file, $skip_keywords)) { if (is_dir($dir . $file)) { call_user_func_array($recall, array($dir . $file, true)); opendir_recursive($dir . $file . "/", $recall); } else { call_user_func_array($recall, array($dir . $file, false)); } } } closedir($dh); } } }