开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
forked from ectouch/ectouch
加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
文件
master
分支 (2)
标签 (3)
master
1.0
v2.7.2
v2.7.1
v1.0.0
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
项目仓库所选许可证以仓库主分支所使用许可证为准
master
分支 (2)
标签 (3)
master
1.0
v2.7.2
v2.7.1
v1.0.0
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
master
分支 (2)
标签 (3)
master
1.0
v2.7.2
v2.7.1
v1.0.0
ectouch
/
include
/
base
/
EcHtmlCache.class.php
ectouch
/
include
/
base
/
EcHtmlCache.class.php
EcHtmlCache.class.php 3.19 KB
一键复制 编辑 原始数据 按行查看 历史
carson 提交于 2018年03月12日 09:54 +08:00 . format
<?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();
}
}
Loading...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

简介

ECTouch是一款开源的电商系统,为中小企业提供最佳的新零售解决方案。
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
PHP
1
https://gitee.com/junchen/ectouch.git
git@gitee.com:junchen/ectouch.git
junchen
ectouch
ectouch
master
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /