function getPackage($packagePath) { $files = array(); //echo "package Path:".$packagePath."\n"; if ($handle = opendir(getRealFilePath($packagePath))) { while ($file = readdir($handle)) { if (strrpos($file, ".js") && substr($file, 0, 1) != ".") { $files[] = substr($packagePath . $file, 0, -3); } //把最后的.js去掉,适应importTangram的输入 } // print_r($files); closedir($handle); } return $files; }
if (is_file($filePath)) { $fileMtime = filemtime($filePath); if ($fileMtime && $fileMtime > $lastModifiedTime) { $lastModifiedTime = $fileMtime; } } } // 检查请求头的if-modified-since,判断是否304 if (isset($requestHeaders['If-Modified-Since']) && strtotime($requestHeaders['If-Modified-Since']) == $lastModifiedTime) { // 如果客户端带有缓存 header('Last-Modified: ' . gmdate('D, d M Y H:i:s', $lastModifiedTime . ' GMT'), true, 304); exit; } // 拼接文件,并应用通用规则 foreach ($files as $fileName) { $filePath = getRealFilePath($root, $alias, $fileName); if (empty($type)) { $type = getExtend($fileName); } if (!is_file($filePath)) { exit("{$filePath} not found!"); } $result[] = file_get_contents($filePath); } //添加过期头,过期时间1年 header("Expires: " . date("D, j M Y H:i:s", strtotime("now + 10 years")) . " GMT"); header("Cache-Control: max-age=315360000"); header('Last-Modified: ' . gmdate('D, d M Y H:i:s', $lastModifiedTime) . ' GMT'); //输出文件类型 header($mimeTypes[$type]); //输出文件