首页 > 开发 > PHP > 正文

关于PHP生成静态页面详细讲解

2024-05-04 21:56:21
字体:大 中 小
来源:转载
供稿:网友

详细讲解一下关于PHP生成静态页面的步骤:为了研究这静态的生成,我花了不少的时间,把我的经验给大家转述一下: 

下面是我封装的create html 类:

  1. <?php 
  2. class makehtml 
  3. { 
  4. //+----------------------------- 
  5.  
  6. //+ 创建HTML文件夹 按照格式建立 
  7.  
  8. //+----------------------------- 
  9. function c_dir($html_type,$root) 
  10. { 
  11. $htmldata_dir=$root; 
  12. if (!is_dir($htmldata_dir)) 
  13. { 
  14. if (!mkdir($htmldata_dir,0777)) 
  15. { 
  16. exit('对不起 ,这没有HTML文件夹'.$htmldata_dir.' 而且不能创建 .'); 
  17. } 
  18. } 
  19. elseif (!is_writable($htmldata_dir)) 
  20. { 
  21. exit('对不起, 文件夹 '.$htmldata_dir.' 不可写'); 
  22. } 
  23. return $htmldata_dir; 
  24. } 
  25. function replace_tpl($data,$input_data,$name) 
  26. {//+ 替换 html 模板中的变量 
  27. $data=str_replace("{title}",$input_data['title'],$data); 
  28. $data=str_replace("{content}",$input_data['content'],$data); 
  29. return $data; 
  30. } 
  31. function create_html($htmlpage,$name,$root,$input_data) 
  32. {//+ 生成 html 文件 function create_html('模板','静态文件名','文件存储目录','提交数据'); 
  33. $htmldata_dir=$this->c_dir($html_type,$root); //c_dir("格式","名称") 
  34. $modeltpl=$htmlpage; //可以加路径 
  35. $fp=fopen($modeltpl,'r'); 
  36. $tpldata.=fread($fp,filesize($modeltpl)); 
  37. fclose($fp); 
  38. $tpl_data=$this->replace_tpl($tpldata,$input_data,$name); 
  39. $fp=fopen($htmldata_dir.'/'.$name.'.shtml','w+'); 
  40. unset($htmldata_dir); 
  41. fwrite($fp,$tpl_data); 
  42. fclose($fp); 
  43. }  
  44. } 
  45. ?>  

代码应用方法,配合数据库操作,数据库表大家自己建。

  1. ​<?php 
  2. include("mysql.php"); 
  3. include("create_html.php"); 
  4. $html=new makehtml(); //实例化CREATE HTML对象 
  5. $op=$_GET["op"]; 
  6. if($op=='insert') 
  7. { 
  8. $title=$_POST["title"]; 
  9. $content=$_POST["content"]; 
  10. $file_path=date("Y-m",time()); //以时间的格式来命名文件夹 
  11. $query=$DB->query("insert into news values('','$title','$content','$times','')"); 
  12. $name=$DB->insert_id(); 
  13. $sql_data=array( 
  14. 'title'=>$title, 
  15. 'content'=>$content 
  16. ); 
  17. $html->create_html('model.html',$name,$file_path,$sql_data); 
  18. //+分别代表的意思是:模板页面,生成后的名称,存放文件夹,写入模板的数据信息 
  19. } 
  20. ?> 

注意:在这里我只是写了个简单的思路,具体的需求需要根据大家的应用来了,这是最简单的发布,还有编辑希望想学习的朋友们继续研究。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表