小李SEO博客

网站优化服务

帝国CMS实现用户访问页面自动生成html的教程

本文实例讲述了帝国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; } }

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

3.php生成:

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

<?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 对应nginx配置的 checkcode ReSingleInfo('userid','username');//你的帝国后台 id 和 用户名 }  db_close(); //关闭MYSQL链接 $empire=null; //注消操作类变量 ?>

文件2修改:

e/class/chtmlfun.php

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

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

新增:如下代码:

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

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

/* 直接展示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 */

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

上一篇:帝国cms7.2&7.0充值点卡功能增加修改 下一篇:帝国CMS强制下载txt文件浏览器带下载进度显示
相关帝国cms文章阅读
  • 帝国CMS判断文章是星期几发布

    php判断文章信息星期几发布 ?php $week=array('星期日','星期一','星期二','星期三','星期四','星期五','星期六'); $w=date(w,$navinfor['newstime']); echo $week[$w]; ? 如果想显示英文的日期,可以把w改成大写的...

  • 帝国CMS投稿表单自动获取会员注册资料

    帝国CMS在制作投稿、留言等表单时希望能自动显示会员注册资料的值而不用再输入: 修改字段,设置字段初始值为:$memberinfor[会员字段名],比如:$memberinfor[oicq]...

  • 帝国cms检测会员名和邮箱注册插件教程

    小李网络公司介绍帝国cms检测会员名和邮箱注册插件教程知识,包括帝国cms同步生成插件 下载帝国cms同步刷新插件网易邮箱插件下载一个插件就可以登录邮箱网易邮箱插件无法安装邮箱通知插件...

  • 帝国CMS在终极栏目的列表页调用该栏目下面标题分类的文章

    现在终极栏目的列表页下显示该栏目下面标题分类的文章,大概格式是 栏目(终极) ----标题分类一 ----标题分类二 标题分类一 文章列表一,文章列表二,文章列表三 标题分类二 文章列表一...

  • 帝国cms调用信息按收藏数排序SQL

    SQL: select a.id,a.classid,a.title,a.titlepic,a.username,a.userid,a.applynum,a.onclick,a.titleurl,b.id,b.classid,count(b.id) fromphome_ecms_newsas a left join phone_enewsfava as b on a.id=b.id and a.classid=b.classid wherea.classid=1anda.ispic=1group...

  • 帝国CMS前台投稿支持用户输TAG的方法!

    支持7.0 7.2 打开/e/class/qinfofun.php 找到: $fsql=$empire-query(insertinto.$infotbr[datatbname].(id,classid,keyid,dokey,newstempid,closepl,haveaddfen.$ret_r[2].)values($id,$classid,$keyid,1,$newstempid,0,$haveaddfen,.$ret_r[3].);); 改为:...

  • 帝国CMS反馈信息发送邮件提醒到管理员邮箱方法

    自定义反馈信息发送邮箱提醒到管理员邮箱功能是诸多网站系统都必备的基本功能,但是可爱的帝国CMS虽然内置了邮件功能,但是并未开放。 但帝国CMS论坛里总有大内高手存在的。 无私的大内...

  • 帝国CMS二次开发引用函数文件

    PHP Code复制内容到剪贴板 ?php define('EmpireCMSAdmin','1'); require(../../class/connect.php);//引入数据库配置文件和公共函数文件 require(ECMS_PATH.e/class/db_sql.php);//引入数据库操作文件 require(ECMS_PATH.e/class/func...

  • 帝国CMS批量提取新闻正文内容的第一张图片作为标题缩略图的SQL语句

    执行以下脚本的时候请 先备份数据库!文本存放的新闻正文字段不可用! 新闻正文字段作为主表的情况用以下语句: update phome_ecms_news set titlepic =concat(replace(SUBSTRING_INDEX(SUBSTRING_INDEX(newstext,...

  • 帝国cms批量显示或导出后台点卡为TXT文本教程

    小李网络公司介绍帝国cms批量显示或导出后台点卡为TXT文本教程知识,包括帝国CMS批量导出点卡卡号插件_帝国cms插件-精准像素,帝国CMS的excel操作插件:导入/导出/批量修改,提供下载.帝国cms(ecms)在...

  • 帝国cms获取当前页面顶级栏目名称和连接方法

    小李网络公司介绍帝国cms获取当前页面顶级栏目名称和连接方法知识,包括霸气的帝国名称中帝国名字大全帝国cms内容页多图世界2风暴帝国活动页面消失了帝国cms编辑文章在当前页面打开帝国...

  • 帝国CMS按小时发布文章数的统计(详细说明)

    按照小时显示更新数量 用sql调用 6小时:?=$empire-gettotal(select count(*) as total from {$dbtbpre}ecms_表 where newstimeUNIX_TIMESTAMP()-6*3600)? 12小时:?=$empire-gettotal(select count(*) as total from {$dbtbpre}ecms_表 where news...

SEO公司排名
 
QQ在线咨询
SEM竞价推广
137-1296-7640
SEO优化外包
137-1296-7640