Example #1
0
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;
}
Example #2
0
    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]);
//输出文件