Example #1
0
 /**
  * 获取指定路径下的所有文件列表(可递归)
  *
  * @param type $directory 路径
  * @param type $recu      是否递归获取子目录
  * @param type $ext       指定文件名结尾字符串(例如,扩展名)
  *
  * @return array 所有的文件完整路径
  */
 public static function AllFile($directory = __DIR__, $recu = false, $ext = '')
 {
     $mydir = dir($directory);
     if (!$mydir) {
         return [];
     }
     $files = [];
     $dirs = [];
     if (empty($ext)) {
         while ($file = $mydir->read()) {
             if ($file == "." or $file == "..") {
                 continue;
             } else {
                 if (is_dir("{$directory}/{$file}")) {
                     if ($recu) {
                         $dirs[] = "{$directory}/{$file}";
                     }
                 } else {
                     $files[] = $directory . '/' . $file;
                 }
             }
         }
     } else {
         while ($file = $mydir->read()) {
             if ($file == "." or $file == "..") {
                 continue;
             } else {
                 if (is_dir("{$directory}/{$file}")) {
                     if ($recu) {
                         $dirs[] = "{$directory}/{$file}";
                         //		    $files = array_merge(AllFile("$directory/$file", $recu, $ext), $files);
                     }
                 } else {
                     if (preg_match("/" . $ext . '$/', $file)) {
                         $files[] = $directory . '/' . $file;
                     }
                 }
             }
         }
     }
     $mydir->close();
     natsort($files);
     foreach ($dirs as $dir) {
         $files = array_merge($files, AllFile($dir, $recu, $ext));
     }
     return $files;
 }
Example #2
0
 private function ReloadTicker()
 {
     //重载Common级的Ticker
     $tickerFiles = AllFile(DI_APP_COMMON_TICKER_PATH, true, 'Ticker.php');
     DILoadTicker($tickerFiles, "\\Common\\Ticker");
     //重载ServerWorker级的Ticker
     $tickerFiles = AllFile(DI_APP_SERVER_TICKER_PATH, TRUE, 'Ticker.php');
     DILoadTicker($tickerFiles, "\\" . DI_SERVER_NAME . "\\Ticker");
 }
Example #3
0
/**
 * 自动加载指定目录下的文件(可递归、可指定文件结尾)
 * @param string $dirPath 指定的路径
 * @param boolean $recu 是否递归
 * @param string $ext 指定文件名结尾
 */
function AutoRequire($dirPath, $recu = false, $ext = '.php')
{
    $files = AllFile($dirPath, $recu, $ext);
    foreach ($files as $file) {
        //	echo $file."\n";
        require_cache($file);
    }
}
 protected function detectListener()
 {
     $files = AllFile(DI_APP_SERVER_LISTENER_PATH);
 }
Example #5
0
 /**
  * 初始化应用配置(当前Server独占)
  */
 protected function LoadServerConfig()
 {
     //加载Server目录下所有的配置文件(以Config.php结尾)
     $configsPath = AllFile(DI_APP_SERVER_CONF_PATH, true, 'Config.php');
     DILoadConfig($configsPath);
 }