in src/OSS/Core/OssUtil.php [479:513]
public static function readDir($dir, $exclude = ".|..|.svn|.git", $recursive = false)
{
$file_list_array = array();
$base_path = $dir;
$exclude_array = explode("|", $exclude);
$exclude_array = array_unique(array_merge($exclude_array, array('.', '..')));
if ($recursive) {
foreach (new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($dir)) as $new_file) {
if ($new_file->isDir()) continue;
$object = str_replace($base_path, '', $new_file);
if (!in_array(strtolower($object), $exclude_array)) {
$object = ltrim($object, '/');
if (is_file($new_file)) {
$key = md5($new_file . $object, false);
$file_list_array[$key] = array('path' => $new_file, 'file' => $object,);
}
}
}
} else if ($handle = opendir($dir)) {
while (false !== ($file = readdir($handle))) {
if (!in_array(strtolower($file), $exclude_array)) {
$new_file = $dir . '/' . $file;
$object = $file;
$object = ltrim($object, '/');
if (is_file($new_file)) {
$key = md5($new_file . $object, false);
$file_list_array[$key] = array('path' => $new_file, 'file' => $object,);
}
}
}
closedir($handle);
}
return $file_list_array;
}