Example #1
0
 /**
  * @param        $path
  * @param string $filter
  * @param bool   $recurse
  * @param bool   $fullpath
  *
  * @return array
  */
 static function readDirectory($path, $filter = '.', $recurse = FALSE, $fullpath = FALSE)
 {
     $arr = array();
     if (!@is_dir($path)) {
         return $arr;
     }
     $handle = opendir($path);
     while ($file = readdir($handle)) {
         $dir = Bf_Filesystem::pathName($path . '/' . $file, FALSE);
         $isDir = is_dir($dir);
         if ($file != "." && $file != "..") {
             if (preg_match("/{$filter}/", $file)) {
                 if ($fullpath) {
                     $arr[] = trim(Bf_Filesystem::pathName($path . '/' . $file, FALSE));
                 } else {
                     $arr[] = trim($file);
                 }
             }
             if ($recurse && $isDir) {
                 $arr2 = Bf_Filesystem::readDirectory($dir, $filter, $recurse, $fullpath);
                 $arr = array_merge($arr, $arr2);
             }
         }
     }
     closedir($handle);
     asort($arr);
     return $arr;
 }