PHP 实现全站静态化 首页静态化 列表页静态化 内容静态化 .
首先先要把需要静态话的内容发到模版上去
eg.这个是静态化首页的
function staticIndex(){
$newslist = $article->getArticles(null,54,'DESC',1,6,false,1,2,'',0,0,1);
if($newslist){
foreach($newslist as $k=>$v){
$newslist[$k]['title_all'] = $v['title'];
$newslist[$k]['title'] = cutstr($v['title'],36,'…');
}
$smarty->assign('newslist',$newslist);
}
$content = '';
$content = $smarty->fetch('index.html',true);//这是Smarty自带的生成静态页面的函数
$static_name = ROOT_PATH.'index.html';//这是生成静态页面当前的路径文件
fopen($static_name,'a');//打开这个文件
@file_put_contents($static_name,$content);//最后写进去
return true;
}
//静态化列表页,按类别不同经行静态化
function staticContent(){//需要静态话的条数
$ids = array();//获取所有的内容
$ids = $this->getListIds();//这个方法获取所有的内容,下面红字部分对应它的方法
foreach($ids as $k=>$value){
//echo $value['catid'];
if(!file_exists(ROOT_PATH.'demo/')){//判断根目录下面有没有这个文件夹,如果没有则创建demo这个文件夹
mkdir(ROOT_PATH.'demo/');
}
if(!file_exists(ROOT_PATH.'demo/'.$value['catid'])){//判断这个文件夹下面有没有对应的类别文件夹
mkdir(ROOT_PATH.'demo/'.$value['catid']);
}
$html_content = $this->getDemoContent($value['demoid']);
$static_name = ROOT_PATH.'demo/'.$value['catid'].'/'.$value['demoid'].'.html';
fopen($static_name,'a');
@file_put_contents($static_name,$html_content);
}
return true;
}
//拿出需要静态化的页面ID
function getListIds(){
$sql = "select * from {$this->tablepre}demo order by demoid asc";
$rs = $this->db->getAll($sql);
if($rs){
return $rs;
}else{
return false;
}
}
//content单页静态化
function getDemoContent($id){
global $smarty,$view_templates,$admin_templates;
loadModel(array('demo'));
$demo = new demo();
$content = '';
$smarty->template_dir = ROOT_PATH.$view_templates;
$getMobanOne = $this->getMobanDetail($id);
$mobandetail = $demo->MobanList($id);
foreach($mobandetail as $k=>$v){
$smarty->assign($k,$v);
}
$this->catid = $getMobanOne['catid'];
$smarty->assign('pre_title',$mobandetail['membername']);
$smarty->assign('mobandetail',$mobandetail);
$content = $smarty->fetch('demo_show.html',true);
$smarty->template_dir = ROOT_PATH.$view_templates;
return $content;
}
以前用的那个生成静态页面每次都要执行PHP文件,然后才能生成,现在我写的这个就是由人控制的,想生成就生成,很方便,希望能给大家带来方便,如有什么疑问,就直接联系我的qq:523132661,祝大家工作愉快。
PHP 实现全站静态化 首页静态化 列表页静态化 内容静态化 .相关推荐
- 让wordpress首页和分类列表页只显示文章标题列表
http://up2u.72pines.com/2009/07/rangwordpressshouyehefenleiliebiaoyezhixianshiwenzhangbiaotiliebiao/ ...
- zblog php 分类页,Zblog首页和分类列表页使用不同的模板
今天在修改天兴模板的时候,发现single.php需要调用post-single.php和post-page.php两个页面,以下列文章做参考,实现了如下功能: 2017年做的b2b网站,如链接存在, ...
- 解决phpcms模版设置中不能显示栏目首页模板,栏目列表页模板,内容页模板等下拉菜单选项的问题!...
第1步:检查相应的模版文件夹中是否有模版文件 一般地,查看目录phpcms/templates/default[模板风格标识]/content 栏目首页模板:以(category_)开头,catego ...
- 谈*静态页*(或网页*静态化*)的时候,请区分一些概念(转)
http://www.cnblogs.com/JeffreyZhao/archive/2009/07/05/talk-about-page-statilization.html "静态页&q ...
- java使用的页面静态化技术_java秒杀系列(2)- 页面静态化技术
###前言 通过代码片段分别介绍服务端渲染.客户端渲染.对象缓存三种方式的写法. 代码片段仅供参考,具体实现需要根据业务场景自行适配,但思想都是一样. 一.服务端渲染方式 ####1.接口返回html ...
- html分页首页上一页下一页,HTML静态分页(形如:首页,上一页,下一页,尾页)...
在HTML中有时候我们会用到静态分页,一次拿回一定量的数据结果条目,我们会以形如:第2页,共12页 首页 上一页 下一页 尾页 的方式进行静态分页,以下是该种静态分页的代码,供兄弟姐妹们参考. fu ...
- DIV布局——仿英雄联盟LOL首页(11页) 大学生简单个人静态HTML网页设计作品 DIV布局个人介绍网页模板代码 DW学生个人网站制作成品下载
HTML5期末大作业:仿英雄联盟网站设计--仿英雄联盟LOL首页(11页) 大学生简单个人静态HTML网页设计作品 DIV布局个人介绍网页模板代码 文章目录 HTML5期末大作业:仿英雄联盟网站设计- ...
- HTML静态分页(形如:首页,上一页,下一页,尾页)
在HTML中有时候我们会用到静态分页,一次拿回一定量的数据结果条目,我们会以形如:第2页,共12页 首页 上一页 下一页 尾页 的方式进行静态分页,以下是该种静态分页的代码,供兄弟姐妹们参考. &l ...
- HTML5期末大作业:仿英雄联盟网站设计——仿英雄联盟LOL首页(11页) 大学生简单个人静态HTML网页设计作品 DIV布局个人介绍网页模板代码 DW学生个人网站制作成品下载
HTML5期末大作业:仿英雄联盟网站设计--仿英雄联盟LOL首页(11页) 大学生简单个人静态HTML网页设计作品 DIV布局个人介绍网页模板代码 DW学生个人网站制作成品下载 常见网页设计作业题材有 ...
最新文章
- 腾讯开源分布式NoSQL存储系统DCache | 技术头条
- 盘点2018年计算机视觉领域技术突破
- android u盘拷贝文件大小,用手机U盘备份或导出手机文件,还能扩容
- Python | numpy | np.split()与np.array_split()函数
- c语言字符串初值问题!
- 《ODAY安全:软件漏洞分析技术》学习心得-----shellcode的一点小小的思考
- db2的bufferpool不足报错的快速解决
- 查询没有走索引_关于MySQL种的in函数到底走不走索引、我和同事差点大打出手!...
- 特斯拉涨价:Model 3价格上调1万元 Model Y上调2.1万
- 机器学习之降维方法(LDA、PCA)小结
- ubuntu软件安装、卸载
- SONiC:为Microsoft全球云提供支持的网络交换机软件
- python 获取foobar2000官网全部插件
- BIN、HEX,ELF,AXF文件的区别
- 什么叫云服务器?云服务器的概念及优势
- 腾讯网易涉嫌抄袭旅行青蛙,却抄丢了游戏的核心吸引力
- 达人评测 华为手表 WATCH 3怎么样
- 明明输给了 SpaceX,OneWeb 为什么还能拿到英国政府的钱?
- 《自控力》与《学习之道》
- 微星Z370M主板参数