设为首页 | 收藏本站
首页>IT学院>软件编程>正文
PHP生成静态页面详解
WWW.DBIT.CN 2006-8-29 9:53:45 热度:
 

  Code:   
  $title = "拓迈国际测试模板";
  $file   = "TwoMax Inter test templet,
author:_Max">Matrix@Two_Max";

 $fp          = fopen ("temp.html","r");
  $content  = fread ($fp,filesize ("temp.html"));
  $content .= str_replace ("{ file }",$file,$content);
  $content .= str_replace ("{ title }",$title,$content);

  // echo $content;
 
  $filename = "test/test.html";
  $handle    = fopen ($filename,"w"); //打开文件指针,创建文件
  /*
 检查文件是否被创建且可写
  */
  if (!is_writable ($filename)){
     die ("文件:".$filename."不可写,请检查其属性后重试!");
  }
  if (!fwrite ($handle,$content)){  //将信息写入文件
     die ("生成文件".$filename."失败!");
  }
  fclose ($handle); //关闭指针
 
  die ("创建文件".$filename."成功!");
?>  

  实际应用中常见问题解决方案参考:

  一,文章列表问题:
  
  在数据库中创建字段,记录文件名,每生成一个文件,将自动生成的文件名存入数据库,对于推荐文章,只需指向存放静态文件的指定文件夹中的该页面即可。利用PHP操作处理文章列表,存为字符串,生成页面时替换此字符串即可。如,在页面中放置文章列表的表格加入标记{ articletable },而在PHP处理文件中:

  Code:   
  $title = "拓迈国际测试模板";
  $file   = "TwoMax Inter test templet,
author:_Max">Matrix@Two_Max";

 $fp          = fopen ("temp.html","r");
  $content  = fread ($fp,filesize ("temp.html"));
  $content .= str_replace ("{ file }",$file,$content);
  $content .= str_replace ("{ title }",$title,$content);
 
  //  生成列表开始
  $list = '''';
  $sql = "select id,title,filename from article";
  $query = mysql_query ($sql);
  while ($result = mysql_fetch_array ($query)){
     $list .= ''''.$result[''title''].''
'';
  }
  $content .= str_replace ("{ articletable }",$list,$content);
 
  //生成列表结束
  // echo $content;
 
  $filename = "test/test.html";
  $handle    = fopen ($filename,"w"); //打开文件指针,创建文件
  /*
 检查文件是否被创建且可写
  */
  if (!is_writable ($filename)){
     die ("文件:".$filename."不可写,请检查其属性后重试!");
  }
  if (!fwrite ($handle,$content)){  //将信息写入文件
     die ("生成文件".$filename."失败!");
  }
  fclose ($handle); //关闭指针
 
  die ("创建文件".$filename."成功!");
?>


  二,分页问题。

  如我们指定分页时,每页20篇。某子频道列表内文章经数据库查询为45条,则,首先我们通过查询得到如下参数:1,总页数;2,每页篇数。第二步,for ($i = 0; $i < allpages; $i++),页面元素获取,分析,文章生成,都在此循环中执行。不同的是,die ("创建文件".$filename."成功!";这句去掉,放到循环后的显示,因为该语句将中止程序执行。例:

本新闻共3页,当前在第2页  1  2  3  

 
上一篇:VB程序中用ADO对象动态创建数据库和表
下一篇:ASP文件上传原理分析
打印】【关闭
  相关文章:
·php运行环境篇:IIS与PHP水火也相容·php定制404错误页面并发信给管理员
·大型系统上PHP令人不爽的九大原因·IIS 6 的 PHP 最佳配置方法
☆联姻学院☆

保养电脑的26个窍门
文件夹删除不掉怎么办?
教你如何用手工迅速剿灭QQ广告
“熊猫烧香”病毒的病毒描述和
在Excel中只打印图表以外区域
Excel中只选中包含文本的单元
Windows XP操作系统的几个实用
用XP系统自带网络诊断程序解决
风雨雷电→自然现象动画实战技
Flash遮罩特效之百叶窗效果
十二个Dreamweaver鲜为人知的
如何用 Dreamweaver 批量做we
JavaScript的系统函数学习
Java之父:关于Java我也有遗憾
排除网上邻居使用4大常见麻烦
解除上网限制IP和MAC捆绑的破