細說php生成靜態文件之模板與緩存

WBOY
發布: 2016-07-25 09:05:48
原創
816 人瀏覽過
  1. Create TABLE `bihtml` (
  2. `id` int(11) NOT NULL auto_increment,
  3. `szdtitle` varchar(16) NOT NULL,
  4. `szdcontent` text NOT NULL,
  5. PRIMARY KEY (`id`)
  6. ) TYPE
复制代码

获取当前的ID,并导入模板:

  1. ob_start();

  2. $id=_POST['id']
  3. if(!isset($id)&is_integer($id))
  4. {
  5. @$db=new mysqli('localhost','root','admin','bihtml');
  6. $result=$db->fetch_one_array("select * from szd_bi where id='$id'");
  7. if(!emptyempty($result))
  8. {
  9. $tmp->assign(array(
  10. "Szdtitle",htmlspecialchars($result['titles']),
  11. "Szdcontent",$result['titles']));
  12. }
  13. $tpl->display('default_1.tpl');
  14. $this_my_f= ob_get_contents(); //此处关键
  15. ob_end_clean();
  16. $filename = "$id.html";
  17. if(tohtmlfile_cjjer($filename,$this_my_f))
  18. echo "生成成功 $filename";
  19. else
  20. echo "生成识别";
  21. }
  22. }

  23. //把生成文件的过程写出函数

  24. function tohtmlfile_cjjer($file_cjjer_name,$file_cjjer_content)
  25. {
  26. if (is_file ($file_cjjer_name)){
  27. @unlink ($file_cjjer_name);
  28. }
  29. $cjjer_handle = fopen ($file_cjjer_name,"w");
  30. if (!is_writable ($file_cjjer_name)){
  31. return false;
  32. }
  33. if (!fwrite ($cjjer_handle,$file_cjjer_content)){
  34. return false;
  35. }
  36. fclose ($cjjer_handle); //关闭指针
  37. return $file_cjjer_name;
  38. }

复制代码

四、说明 1)、建议添加数据时即生成静态页面,并考虑记录生成的文件名次和路径。 2)、php主要是 ob_starts()和 ob_get_contents生成静态页面时很有用,当然也可以考虑调出数据库直接替换模板里面的变量。 3)、模板引擎主要使用smarty。

您可能感兴趣的文章: php生成静态页面的三种方法与代码详解 php生成静态页面函数(php2html)的例子 php生成静态页面的方法(三个函数) php写的一个生成静态页面的类 虚拟主机上定时自动生成静态页面的方法 php生成静态文件的二种方法 php生成静态页面的详细教程 php生成静态html文件的原理分析 smarty生成静态页面的方法 了解php生成静态HTML文件的原理 PHP生成静态页面的方法 php生成静态html文件的三种方法



來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板