Maison > Tutoriel CMS > EmpireCMS > Imperial cms réalise la méthode de génération automatique de HTML lorsque les utilisateurs visitent la page

Imperial cms réalise la méthode de génération automatique de HTML lorsque les utilisateurs visitent la page

silencement
Libérer: 2019-11-27 13:44:05
avant
2380 Les gens l'ont consulté

Imperial cms réalise la méthode de génération automatique de HTML lorsque les utilisateurs visitent la 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;
}
}
Copier après la connexion

以上配置,用户访问不存在的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; //注消操作类变量
?>
Copier après la connexion

文件2修改:

e/class/chtmlfun.php

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

代码如下:

$sql=$empire->query("select * from {$dbtbpre}ecms_".$class_r[$classid][tbname]." where ".$add);
Copier après la connexion

新增:如下代码:

代码如下:

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

文件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 */
Copier après la connexion

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:www.word666.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal