Esempio n. 1
0
 public static function getFiles($dir, $filter = ".", $recursive = true, $exclude = array(".svn", "CVS", ".", ".."))
 {
     $files = array();
     if (is_dir($dir)) {
         $dh = opendir($dir);
         if ($dh !== false) {
             while (($dirItem = readdir($dh)) !== false) {
                 $file = $dir . DS . $dirItem;
                 if (is_dir($file)) {
                     if ($recursive && !in_array($dirItem, $exclude)) {
                         $files = array_merge($files, SJB_Filesystem::getFiles($file, $filter, $recursive, $exclude));
                     }
                 } else {
                     if (preg_match("/{$filter}/", $dirItem) === 1) {
                         $files[] = $file;
                     }
                 }
             }
         } else {
             SJB_Error::add("Open directory error '{$dir}'");
         }
     } else {
         SJB_Error::add("Trying to take files from directory {$dir}");
     }
     return $files;
 }