function test_chop() { $this->assertEqual(fs :: chop('test'), 'test'); $this->assertEqual(fs :: chop('test/'), 'test'); }
function find_subitems($dir, $types = 'dfl', $exclude_regex = '', $add_path = true, $include_hidden = false) { $dir = fs :: clean_path($dir); $dir = fs :: chop($dir); $items = array(); $separator = fs :: separator(); if ($handle = opendir($dir)) { while(($element = readdir($handle)) !== false) { if ($element == '.' || $element == '..') continue; if (!$include_hidden && $element[0] == '.') continue; if ($exclude_regex && preg_match($exclude_regex, $element)) continue; if (is_dir($dir . $separator . $element) && strpos($types, 'd') === false) continue; if (is_link($dir . $separator . $element) && strpos($types, 'l') === false) continue; if (is_file( $dir . $separator . $element ) && strpos($types, 'f') === false) continue; if ($add_path) { if (is_string($add_path)) $items[] = $add_path . $separator . $element; else $items[] = $dir . $separator . $element; } else $items[] = $element; } closedir($handle); } return $items; }
function walk_dir($dir, $function_def, $params=array(), $include_first=false) { $return_params = array(); $separator = fs :: separator(); $dir = fs :: normalize_path($dir); $dir = fs :: chop($dir); $params['separator'] = $separator; fs :: _do_walk_dir($dir, $separator, $function_def, $return_params, $params, $include_first); return $return_params; }