代码拉取完成,页面将自动刷新
同步操作将从 ectouch/ectouch 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
<?php
/**
* ECTouch Open Source Project
* ============================================================================
* Copyright (c) 2012-2014 http://ectouch.cn All rights reserved.
* ----------------------------------------------------------------------------
* 文件名称:EcHtmlCache.class.php
* ----------------------------------------------------------------------------
* 功能描述:静态缓存类
* ----------------------------------------------------------------------------
* Licensed ( http://www.ectouch.cn/docs/license.txt )
* ----------------------------------------------------------------------------
*/
/* 访问控制 */
defined('IN_ECTOUCH') or die('Deny Access');
class EcHtmlCache
{
private static $cacheFile = "";
/**
* 检查规则,看是否满足生成静态页面的条件
* @param unknown $cachePath
* @return string
*/
public static function getCacheFile($cachePath)
{
if (isset($_SERVER['PATH_INFO'])) {
$url = $_SERVER['PATH_INFO'];
} else {
$script_name = $_SERVER["SCRIPT_NAME"]; //获取当前文件的路径
$url = $_SERVER["REQUEST_URI"]; //获取完整的路径,包含"?"之后的字符串
//去除url包含的当前文件的路径信息
if ($url && @strpos($url, $script_name, 0) !== false) {
$url = substr($url, strlen($script_name));
} else {
$script_name = str_replace(basename($_SERVER["SCRIPT_NAME"]), '', $_SERVER["SCRIPT_NAME"]);
if ($url && @strpos($url, $script_name, 0) !== false) {
$url = substr($url, strlen($script_name));
}
}
}
//第一个字符是'/',则去掉
if ($url[0] == '/') {
$url = substr($url, 1);
}
if (empty($url)) { //首页
$file = 'index.html';
} elseif (empty($_SERVER['QUERY_STRING']) && preg_match("#^[a-z0-9_\-\/%]+\.(shtml|html|htm)$#i", $url)) { //静态页面
$file = $url;
} else { //静态缓存
$url_md5 = md5($url);
$file = $url_md5{0} . '/' . $url_md5{1} . '/' . $url_md5 . '.html';
}
$file = $cachePath . $file;
$dir = dirname($file);
if (!is_dir($dir)) {
@mkdir($dir, 0777, true);
}
return $file;
}
/**
* 读取静态缓存文件
* @param string $cachePath
* @param number $expire
* @return number|boolean
*/
public static function read($cachePath = "", $expire = 1800)
{
self::$cacheFile = self::getCacheFile($cachePath);
//静态缓存文件存在,且没有过期,则直接读取
if (file_exists(self::$cacheFile) && (time() < (filemtime(self::$cacheFile) + $expire))) {
return readfile(self::$cacheFile);
} else {
ob_start();
return false;
}
}
/**
* 写入静态缓存文件
*/
public static function write()
{
$contents = ob_get_contents();
if (strlen($contents) > 0) {
file_put_contents(self::$cacheFile, $contents);
}
ob_end_flush();
flush();
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。