帝国CMS移动端缓存形式同步PC端生成文件

这里跟普通模式下的移动端同步PC端生成文件有点区别,就是在有人访问的情况下才会生成静态文件,如果没有人访问的话,就不需要生成,类似于缓存功能。节省磁盘空间,缓解服务器压力。

首先先做一个伪静态,将你的静态文件映射下:

 rewrite /n/(.*)/(.*).html$  /e/extend/chml.php?classid=$1&id=$2

其目录根据自己的需要来进行修改。

然后创建一个PHP文件,名字就叫上面起的:chml.php,目录存放在/e/extend/下面

折叠PHP 代码
  1. <?php  
  2. require('../class/connect.php'); //引入数据库配置文件和公共函数文件  
  3. require('../class/db_sql.php'); //引入数据库操作文件  
  4. require("../class/functions.php");  
  5. require("../class/t_functions.php");  
  6. require("../data/dbcache/class.php");  
  7. require("../data/dbcache/MemberLevel.php");  
  8. require('../class/chtmlfun.php');  
  9. $link=db_connect(); //连接MYSQL  
  10. $empire=new mysqlquery(); //声明数据库操作类  
  11.   
  12. ReSingleInfo2('35','mobile');//你的帝国后台 id 和 用户名  
  13.   
  14. //生成单信息  
  15. function ReSingleInfo2($userid,$username){  
  16.  global $empire,$public_r,$class_r,$dbtbpre;  
  17.  if($_GET['classid'])  
  18.  {  
  19.   $id=$_GET['id'];  
  20.  }  
  21.  else  
  22.  {  
  23.   $id=$_POST['id'];  
  24.  }  
  25.  $fr=$empire->fetch1("select classid from {$dbtbpre}ecms_".$class_r[$classid][tbname]." where id=$id");  
  26.  $classid=$fr[classid];  
  27.  if(emptyempty($classid))  
  28.  {  
  29.   printerror('ErrorUrl','history.go(-1)');  
  30.  }  
  31.  $count=count($id);  
  32.  if(emptyempty($count))  
  33.  {  
  34.   printerror("NotReInfoid","history.go(-1)");  
  35.  }  
  36.  for($i=0;$i<$count;$i++)  
  37.  {  
  38.   $id[$i]=intval($id[$i]);  
  39.   $add.="id='$id[$i]' or ";  
  40.     }  
  41.  $add="id=$id";  
  42.  $sql=$empire->query("select * from {$dbtbpre}ecms_".$class_r[$classid][tbname]." where ".$add);  
  43.  while($r=$empire->fetch($sql))  
  44.  {  
  45.   GetHtml($r['classid'],$r['id'],$r,1);//生成信息文件  
  46.  }  
  47.  $filepath='/e/action/ShowInfo.php?classid='.$classid.'&id='.$id;  
  48.  header("Location: ".$filepath); //加载文件  
  49. }  
  50.   
  51. db_close(); //关闭MYSQL链接  
  52. $empire=null; //注消操作类变量  
  53.   
  54. ?>  

这样当你第一次访问移动端的文件的时候,他会自动生成一个对应PC端的文件,以后访问就不需要了。当然,不仅仅是这一个用法哦,这个生成的文件你还可以当缓存来用,你可以定时清理这些文件,不像普通的同步生成,你删掉了,就打不开了,不然就是404~

Tags: 移动端   同步   缓存
cms大学,为帝国cms用户提供动力
Copyright © 2016 CmsDX.com All Rights Reserved.