当前位置:多学网学习教育电脑学习编程入门PHP教程php生成静态页面的办法

php生成静态页面的办法

[08-23 22:09:28]   来源:http://www.duoxue8.com  PHP教程   阅读:797
php生成静态页面的办法,标签:PHP技巧,php培训,php学习,php安装,http://www.duoxue8.com
$num = mysql_num_rows ($query); 
$allpages = ceil ($num / $onepage); 
for ($i = 0;$i<$allpages; $i++) 
{ if ($i == 0){ $indexpath = "index.html"; } 
else { $indexpath = "index_".$i."html"; } 
$start = $i * $onepage; $list = ''; 
$sql_for_page = "select name,filename,title from article where channel='$channelid' limit $start,$onepage"; 
$query_for_page = mysql_query ($sql_for_page); 
while ($result = $query_for_page){ $list .= '<a href='.$root.$result['filename'].' target=_blank>'.$title.'</a><br>'; } 
$content = str_replace ("{articletable}",$list,$content); 
if (is_file ($indexpath)){ @unlink ($indexpath); //若文件已存在,则删除 } $handle = fopen ($indexpath,"w"); //打开文件指针,创建文件 /*  检查文件是否被创建且可写 */ if (!is_writable ($indexpath)){ echo "文件:".$indexpath."不可写,请检查其属性后重试!"; //修改为echo } if (!fwrite ($handle,$content)){ //将信息写入文件 echo "生成文件".$indexpath."失败!"; //修改为echo } fclose ($handle); //关闭指针 } 
fclose ($fp); die ("生成分页文件完成,如生成不完全,请检查文件权限系统后重新生成!");?> 
third:smarty模版生成静态页面 
驼驼是用smarty模版的,smarty自己有一个fetch函数,其功用有点类似于fread()可以用来生成静态的页面. 
这个例子大家想必看起来眼熟,对,smarty手册中关于fetch函数的例子,hoho 某驼借用一下,比竟官方的例子总是很经典的嘛! 
<?php include("Smarty.class.php"); 
$smarty = new Smarty; 
$smarty->caching = true; 
// only do db calls if cache doesn't exist if(!$smarty->is_cached("index.tpl")) {   
// dummy up some data   $address = "245 N 50th";   
$db_data = array(                 
"City" => "Lincoln",                 
"State" => "Nebraska",                 
"Zip" => "68502"               
);   
$smarty->assign("Name","Fred");   
$smarty->assign("Address",$address);   
$smarty->assign($db_data); } 
// capture the output $output = $smarty->fetch("index.tpl"); 
//这个地方算是关键// do something with $output here echo $output; //hoho 
看到output的结果了吧 
然后呢?fwrite一下,我们就得到我们所要的结果了。 
$fp = fopen("archives/2005/05/19/0001.html", "w"); 
fwrite($fp, $content);fclose($fp); 
?> 
<?phpob_start();echo "Hello World!"; 
$content = ob_get_contents();//取得php页面输出的全部内容 
$fp = fopen("archives/2005/05/19/0001.html", "w"); 
fwrite($fp, $content); 
fclose($fp); 
?> 
PHP生成静态页面类 
/*********************/ 
/*                   */ 
/* Version : 5.2.5 */ 
/* Author : liqiangwork#sohu.com */ 
/* QQ : 570937581   */ 
/*                   */ 
/*********************/ 
//-----------------------------生成静态的类------------------------------- 
class Makehtml{ 
   public $MbUrl,$OutUrl,$AllHtml,$SouChar,$ObjChar; //变量 
   public $row; //游标 
   public $Shuzusou,$Shuzuobj; //替换的字符串数组 
   //-----------------------初始化------------------------- 
    function __construct(){ //初始化 
     $this->MbUrl=""; 
     $this->OutUrl=""; 
     $this->AllHtml=""; 
     $this->Sql=""; 
     $this->SouChar=""; 
     $this->ObjChar=""; 
    } 
   
   
   //-----------------------------自动按字段替换--------------------------- 
    function AutoReplace(){ 
      //------------------自动获取要替换的字符串------------------- 
      $tlen=count($row); 
      $shuzu1=array(); 
      $shuzu2=array(); 
      if($row){ 
      $i=0; 
      foreach($row as $key => $value){       
     $shuzu2="<=$".$key."$>"; 
     $shuzu1=$value; 
     $i++; 
      } 
      $this->Replacehtml(shuzu2,shuzu1); 
      } 
      //------------------自动获取要替换的字符串------------------- 
    } 
   //-----------------------------自动按字段替换完成------------------------ 
   
   
   //-----------------------------批量替换数组-------------------------- 
   function Replacehtml($Shuzusou,$Shuzuobj){ //批量替换数组 

上一页  [1] [2] [3]  下一页


php生成静态页面的办法 结束。
Tag:PHP教程PHP技巧,php培训,php学习,php安装电脑学习 - 编程入门 - PHP教程