コード例 #1
0
 /**
  * @param string $_path
  * @param string $_prefix
  * @return Ambigous <string, multitype:>
  */
 private static function scan($_path, $_prefix = '')
 {
     $delimiter = '/';
     $separator = '.';
     $wildcard = '*';
     $result = array();
     $files = array();
     foreach (scandir($_path) as $resource) {
         if ($resource == "." || $resource == ".." || $resource == ".svn" || $resource == ".htaccess" || $resource == ".htpasswd") {
             continue;
         } else {
             if (is_dir($_path . $delimiter . $resource)) {
                 $result = array_merge($result, Application::scan($_path . $delimiter . $resource, $_prefix . $resource . $separator));
                 continue;
             } else {
                 if (is_file($_path . $delimiter . $resource)) {
                     $files[] = $_path . $delimiter . $resource;
                     $result[$_prefix . substr($resource, 0, strpos($resource, '.'))] = $_path . $delimiter . $resource;
                     continue;
                 }
             }
         }
     }
     $result[$_prefix . $wildcard] = $files;
     return $result;
 }