欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php生成静态html文件的原理分析

程序员文章站 2024-01-24 16:18:34
...
  1. //引入数据库配置文件

  2. include( dirname(dirname(__FILE__))."\include\config.php" );
  3. /**

  4. *
  5. * 将数据库中的文章生成单个HTML文件.
  6. * @param Date $Date
  7. * @param Time $Time
  8. * @param String $Content
  9. * @param String $Title
  10. */
  11. function GenerateHTML($Date,$Time,$Content,$Title,$Name){
  12. //将日期、时间变量分解成数组

  13. $GetDateRow = explode("-", $Date);
  14. $GetTimeRow = explode(":",$Time);
  15. //得到文件的名字。比如:20121028210632.html

  16. $FileName = $GetDateRow[0].$GetDateRow[1].$GetDateRow[2].$GetTimeRow[0].$GetTimeRow[1].$GetTimeRow[2].".html";
  17. //打开并读取模板内容

  18. $FP = fopen("tmp.html","r");
  19. $Str = fread($FP,filesize("tmp.html"));
  20. //得到替换后的模板内容

  21. $Str = str_replace("{Title}",$Title, $Str);
  22. $Str = str_replace("{Content}", $Content, $Str);
  23. $Str = str_replace("{Name}", $Name, $Str);
  24. $Str = str_replace("{Date}", $Date,$Str);
  25. $Str = str_replace("{Time}", $Time, $Str);
  26. //关闭文件,减少服务器的压力。

  27. fclose($FP);
  28. //将内容写入HTML文件

  29. $Handle = fopen($FileName,"w");
  30. fwrite($Handle,$Str);
  31. fclose($Handle);
  32. //测试

  33. //echo "ok,done!";
  34. }
  35. //数据库的操作

  36. $querysql = "select * from article";
  37. $queryset = mysql_query($querysql);
  38. //循环生成HTML文件。

  39. while( $row = mysql_fetch_array($queryset) ){
  40. GenerateHTML($row['date'],$row['time'],$row['content'],$row['title'],$row['name']);
  41. }
  42. ?>
复制代码