当前位置:  编程技术>php

PHP中使用smarty生成静态文件的例子

    来源: 互联网  发布时间:2014-08-26

    本文导语:  首先先要把需要静态化的内容填充到模版中去 代码如下:#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'] = ...

首先先要把需要静态化的内容填充到模版中去


代码如下:

#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文件,然后才能生成,现在我写的这个就是由人控制的,想生成就生成,很方便,希望能给大家带来方便,祝大家工作愉快。


    
 
 

您可能感兴趣的文章:

  • PHP static局部静态变量和全局静态变量总结
  • PHP生成静态文件简单示例
  • php 伪静态之IIS篇
  • PHP静态网站生成工具 Phrozn
  • php环境套包 dedeampz 伪静态设置示例
  • PHP延迟静态绑定示例分享
  • php伪静态如何获取地址栏url
  • php中的静态变量的基本用法
  • PHP开发框架kohana3.3.1在nginx下的伪静态设置例子
  • PHP中实现生成静态文件的方法缓解服务器压力
  • php结合smarty生成静态页面 php文章内分页代码
  • 浅析PHP的静态成员函数效率更高的原因
  • PHP静态博客docx
  • PHP 动态生成静态HTML页面示例代码
  • PHP伪静态Rewrite设置之APACHE篇
  • 使用ob系列函数实现PHP网站页面静态化
  • php伪静态(url rewrite mod_rewrite模块重写)详解
  • php static延迟静态绑定实例解析
  • PHP批量生成静态HTML的简单原理和方法
  • php伪静态之APACHE篇
  • php递归创建目录小例子 iis7站长之家
  • PHP源码自动生成插件 PHP Source Plugin
  • php生成订单号的类 php订单号生成代码
  • php微博短网址算法 php生成短网址的实现代码
  • PHP 对象生成器 POG
  • php生成短网址 仿微博短网址生成代码
  • php生成数组与php全组合算法
  • 生成假数据的PHP库 Faker
  • php生成唯一标识符的代码
  • PHP代码生成器 PHPGEN
  • php guid生成函数 php生成唯一标识符
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Php计算时间差 php日期转换的例子
  • php递归函数小例子
  • PHP数据流应用的简单例子
  • php递归创建目录小例子
  • php水仙花数的小例子
  • php代码审计比较有意思的例子
  • php转换html标签小例子
  • php汉字转码的例子
  • php输入流php://input发送图片流到服务器的例子
  • php数组与对象转换小例子
  • php日期加减法运算小例子
  • PHP文件遍历小例子
  • PHP快速排序小例子 php快速排序实现方法
  • php获取exif图片缩略图的例子
  • php判断日期格式是否正确的小例子
  • php三维数组去重的简单例子
  • php正则表达式转义字符的例子
  • php导出(生成)CSV文件的小例子
  • php使用mkdir创建多级目录入门例子
  • php根据键值对二维数组排序的小例子
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • IIS7配置PHP图解(IIS7+PHP_5.2.17/PHP_5.3.5)
  • PHP 5.4.19 和 PHP 5.5.3 发布及下载地址
  • php输入流php://input使用示例(php发送图片流到服务器)
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • PHP转换器 HipHop for PHP
  • PHP去除html标签,php标记及css样式代码参考
  • PHP 框架 Pop php
  • PHP 'ext/soap/php_xml.c'不完整修复存在多个任意文件泄露漏洞
  • PHP的JavaScript框架 PHP.JS
  • php通过socket_bind()设置IP地址代码示例


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3