Home > CMS Tutorial > Empire CMS > body text

Imperial cms realizes the method of automatically generating html when users visit the page

silencement
Release: 2019-11-27 13:44:05
forward
2319 people have browsed it

Imperial cms realizes the method of automatically generating html when users visit the page

本文实例讲述了帝国cms实现用户访问页面自动生成html的方法。分享给大家供大家参考。具体分析如下:

原因:对于服务器资源有限但是数据量非常庞大的网站来说,使用帝国cms在批量生成全部文件的时候速度比较慢,更改了一次模板,往往要更新很久.

思路:删除所有html->利用nginx匹配未生成的html->php生成html,如果nginx 检测html已经生成,则直接展示,不跳转到php.

实现代码如下:

代码如下:

location /{
alias /home/web/xxx.com/;
if (!-e $request_filename) {
rewrite /(.*)/(.*).html$ /chtml.php?classid=1&id=$2&ssid=$2&check=checkcode;
}
}
Copy after login

以上配置,用户访问不存在的html的时候会自动展示chtml.php里面的内容,网址不会跳转,相当于是在当前URL下.

推荐学习《帝国cms教程

3.php生成:

文件1:chtml.php代码如下:

代码如下:

<?php
$check= stripslashes($_GET[&#39;check&#39;]);

require(&#39;./class/connect.php&#39;); //引入数据库配置文件和公共函数文件
require(&#39;./class/db_sql.php&#39;); //引入数据库操作文件
require("./class/functions.php");
require("./class/t_functions.php");
require("./data/dbcache/class.php");
require("./data/dbcache/MemberLevel.php");
require(&#39;./class/chtmlfun.php&#39;);
$link=db_connect(); //连接MYSQL
$empire=new mysqlquery(); //声明数据库操作类

if($check=="checkcode"){//checkcode 对应nginx配置的 checkcode
ReSingleInfo(&#39;userid&#39;,&#39;username&#39;);//你的帝国后台 id 和 用户名
}

db_close(); //关闭MYSQL链接
$empire=null; //注消操作类变量
?>
Copy after login

文件2修改:

e/class/chtmlfun.php

找到ReSingleInfo方法,在下面之前:

代码如下:

$sql=$empire->query("select * from {$dbtbpre}ecms_".$class_r[$classid][tbname]." where ".$add);
Copy after login

新增:如下代码:

代码如下:

/* 前台生成单个文件 2014-5-8 shanmao*/
$s_aid = (int)$_GET[&#39;ssid&#39;];
if($s_aid>0){
$add="id=$s_aid";
$classid=58;//你的栏目id
}
/* 前台生成单个文件 */
Copy after login

文件3修改:functions.php GetHtml 方法尾部新增一下代码,用于直接显示生成后的html:
代码如下:

/* 直接展示html 2014-5-8 */
$s_aid = $_GET[&#39;ssid&#39;];
$s_play = (int)$_GET[&#39;play&#39;];
$s_check = $_GET[&#39;check&#39;];
if($s_check=="checkcode"){
if($s_aid && strstr($s_aid,"_play")){
echo file_get_contents($file_p);
}else{
echo file_get_contents($file);
}
}
/* 直接展示html 2014-5-8 */
Copy after login

希望本文所述对大家的帝国cms建站有所帮助。

The above is the detailed content of Imperial cms realizes the method of automatically generating html when users visit the page. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:www.word666.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!