PHP 實現全站靜態化 首頁靜態化 列表頁靜態化 內容靜態化


function staticIndex()
{
$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;
  
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM