<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            php語言

            PHP中使用smarty生成靜態文件的實例

            時間:2025-04-13 16:28:29 php語言 我要投稿
            • 相關推薦

            PHP中使用smarty生成靜態文件的實例

              導語:PHP中使用smarty生成靜態文件,并不是想象中那么容易,下面是百分網小編為大家整理了一下PHP中使用smarty生成靜態文件的實例,希望對你能有所幫助。
              首先先要把需要靜態化的內容填充到模版中去
              代碼如下:
              #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中使用smarty生成靜態文件的實例】相關文章:

            php簡單偽靜態實例09-16

            php實現偽靜態的方法實例09-25

            php靜態頁生成方法10-25

            php使用html5實現多文件上傳實例09-04

            PHP生成SiteMap文件的代碼09-27

            PHP生成PDF文件withFPDF10-28

            php技術生成靜態頁面的方法07-28

            如何生成靜態頁面的PHP類09-15

            生成PHP網站頁面靜態化的方法06-14

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看