原因:

帝国cms在批量生成文件的时候非常慢。更改了一次模板,往往要更新半天。

思路:

删除所有html->利用nginx匹配未生成的html->

实现:

1.首先删除所有你需要删除的html:

2.服务端ng配置:

location /{

alias /home/web/xxx.com/;

if (!-e $request_filename) {

rewrite /(.*)/(.*).html$ /chtml.php?classid=1&id=$2&ssid=$2&check=checkcode;

}

}

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

3.php生成:

文件1:chtml.php

[code lang=”php”]

$check= stripslashes($_GET[‘check’]);

require(‘./class/connect.php’); //引入数据库配置文件和公共函数文件

require(‘./class/db_sql.php’); //引入数据库操作文件

require("./class/functions.php");

require("./class/t_functions.php");

require("./data/dbcache/class.php");

require("./data/dbcache/MemberLevel.php");

require(‘./class/chtmlfun.php’);

$link=db_connect(); //连接MYSQL

$empire=new mysqlquery(); //声明数据库操作类

if($check=="checkcode"){//checkcode 对应

ReSingleInfo(‘userid’,’username’);//你的帝国后台 id 和 用户名

}

db_close(); //关闭MYSQL链接

$empire=null; //注消操作类变量

?>

[/code]

文件2修改:

e/class/chtmlfun.php

找到ReSingleInfo方法:

在下面之前:

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

新增:

[code lang=”php”]

/* 前台生成单个文件 2014-5-8 shanmao*/

$s_aid = (int)$_GET[‘ssid’];

if($s_aid>0){

$add="id=$s_aid";

$classid=58;//你的栏目id

}

/* 前台生成单个文件 */

[/code]

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

[code lang=”php”]

/* 直接展示html 2014-5-8*/

$s_aid = $_GET[‘ssid’];

$s_play = (int)$_GET[‘play’];

$s_check = $_GET[‘check’];

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*/

[/code]

帝国cms 自动生成html,帝国cms二次开发用户访问自动生成html相关推荐

  1. lisp CAD二次开发 宗地线自动编号

    lisp CAD二次开发 宗地线自动编号 (defun c:ZZ () (setvar "osmode" 0) (princ "\n选取宗地线-") (setq ...

  2. cad自动运行dvb lisp_CAD二次开发程序的自动加载与使用

    常见的CAD二次开发程序有dvb.vlx.fas.lsp.arx和dll.在CAD中加载这几种程序之前,需要知道程序内部包括的命令,否则你加载完成了用不了. 在CAD命令窗口中输入"appl ...

  3. vue使用qrcodejs2生成带log的二维码图片,vue生成二维码图片中间带log,自定义log

    安装插件 npm install qrcodejs2 --save 在页面中引入 import QRcode from 'qrcodejs2' 普通的二维码 此处的id就是页面中要展示二维码容器的id ...

  4. Revit二次开发——结构模型构件自动扣减

    **Revit二次开发实例--模型自动扣减** 本文章来源于微信公众号 '有福BIM' 有福BIM的第四篇原创文章! 阅读前望知悉: 我晓得各位读者和粉丝中不乏C#二开大佬 有福作为一个二开新手(编程 ...

  5. 生成微信公众号二维码(用户扫码关注公众号)

    1.token 文件 /*** https://mp.weixin.qq.com/advanced/advanced?action=dev&t=advanced/dev&token=1 ...

  6. UG/NX 二次开发(C#) 程序自动切换制图模式

    作为C#语言的铁粉,在做二次开发的时候,发现西门子在C#语言下的支持还是不够完善. 就拿自动切换制图模式来说,C++可以直接调用内部函数 UI_APP_change_application,还在网上找 ...

  7. 标注的尺寸避让lisp_Revit二次开发——标记/标注自动避让思路分享

    在[注释]选项卡中,Revit提供了"全部标记"这个快速标记对象的方法 梁墙板柱.常规模型等都可以实现快速标注 配合之前开发的"直墙标注"功能,对于解决装配式应 ...

  8. Matlab 2019b simulink 生成C代码(二)用fixed point tool 生成定点代码

    一.简介 本文主要以matlab 2019b版本,主要讲解怎么用simulink和fixed point tool生成嵌入式定点c代码: 在嵌入式代码设计中,由于浮点运算特别占用CPU资源,我们通常使 ...

  9. 服务器系统检测报告自动生成,生成allure测试报告之后,服务器端口无法访问查看生成的report,可能是这样引起的。...

    搜索引擎Solr系列(二): Solr6.2.1 从MySql中导入数据 一:建立MySql测试表,如下图: 二:solr导入配置: 1.新建demo core文件夹,并修改managed-schem ...

  10. py实现外星人入侵(二次开发)——3.随机生成外星人和方向

    前言 之前的外星人都是直接铺满屏幕的,移动方式和下落节奏都很单一,这次我们整一点花活,来一个随机生成外星人,这样还不够,外星人的移动方向我们也需要改改,不然多没意思. 随机生成 这里我们采用的是ran ...

最新文章

  1. Hanoi塔(分治法的应用)
  2. uva1331三角剖分
  3. Visual Studio与C#编程十个实用技巧
  4. 五桌面工具来创建优秀的Windows环境
  5. 一位 女生在第一次应聘软件开发工作时成功被淘汰的例子
  6. 移动端rem单位用法
  7. 实现类似于百度的自动补全搜索
  8. Java 关于类型类、this.getClass()的理解
  9. 把word excel ppt 导入到右键快捷菜单中
  10. Atitit.aticmd v4  新特性q39 添加定时器释放功能
  11. 我的团长我的团第十七集
  12. 激活码方式注册的实现原理述
  13. element修改图标的大小
  14. 【自动驾驶】二自由度车辆动力学模型
  15. html css remove,CSS類別操作--.removeClass()
  16. 百度搜索结果页面的参数 搜索框提示词搜索方式(rsv_sug2)
  17. 楷书书法规则_写好楷书的五条规律,不懂这些,书法就很难入门
  18. PreScan 使用点云雷达代替激光雷达操作步骤:
  19. 今日头条-新年集卡分2亿,每晚8:45红包雨
  20. MavenLombok

热门文章

  1. 如何将mp4视频格式转换成mov视频
  2. qq邮箱foxmail imap服务器,Foxmail如何设置IAMP邮箱
  3. 掌握这三种方法!Word、PPT、Excel、JPG、PDF之间任你转换
  4. Python编程实战:寻找回文
  5. 应广单片机规格 应广MCU锂电池充电IC
  6. 什么是AOP(通俗易懂)
  7. 继口罩厕纸双黄连之后,限制出口会导致“粮食挤兑”吗?
  8. HCNA之路由优先级及路由冗余备份
  9. urllib.request.urlopen()出现的程序超时假死问题
  10. 安装 Vmware和创建虚拟机即密码破解