当前位置:首页 > PHP教程 > php应用 > 列表

php生成html静态页面完整实例

发布:smiling 来源: PHP粉丝网  添加日期:2014-07-07 16:26:34 浏览: 评论:0 

如果你是一个seo工作者你估计要求把php文件全部转换成html页面了,这样可以对网站排名有好处,同时也可以减轻服务器apache负载了,下面我来介绍一个php生成静态页面实例.

addform.php文件代码如下:

  1. <form action="add.php" method="post" > 
  2.    新闻标题: 
  3.   <input type="text" name="title" /><br> 
  4.   新闻内容:<br> 
  5.   <textarea name="content" rows="10" cols="50" > 
  6.   </textarea><br> 
  7.   <input type="submit" name="submit" value="提交"/> 
  8.   </form> 

add.php文件代码如下:

  1. require_once("mysql_inc.php"); //引用conn.php,连接数据库 
  2.  
  3. $title=$_POST['title']; 
  4. $content=$_POST['content']; //获得表单变量 
  5.  
  6.  
  7. //以下建立一文本文档,其值自动计数 
  8. $countfile="count.txt"
  9. if(!file_exists($countfile)) 
  10. fopen($countfile,"w"); //如果此文件不存在,则自动建立一个 
  11. $fp=fopen($countfile,"r"); 
  12. $num=fgets($fp,20); 
  13. $num=$num+1; //每次其值自动加一 
  14. fclose($fp); 
  15. $fp=fopen($countfile,"w"); 
  16. fwrite($fp,$num); //更新其值 
  17. fclose($fp); 
  18.  
  19.  
  20. //利用上面自动计数的值获得HTML的路径$path 
  21. $houzui=".html"
  22. $path=$num.$houzui
  23. //这样形成的路径是自动增长的,如1.html,2.html,3.html……….添加一条新闻便自动加上1 
  24.  
  25. //以下用SQL语句添加数据至表 news 
  26. $sql="insert into news (id,title,content,path) values ('','".$title."','".$content."','".$path."')"
  27. $query=mysql_query($sql); 
  28.  
  29. //以下为关键之处,把从表单获得的数据替换模板中的{title},{content}标记 
  30. $fp=fopen("mode.html","r"); //只读打开模板 
  31. $str=fread($fp,filesize("mode.html"));//读取模板中内容 
  32. $str=str_replace("{title}",$title,$str); 
  33. $str=str_replace("{content}",$content,$str);//替换内容 
  34. fclose($fp); 
  35.  
  36. $handle=fopen($path,"w"); //写入方式打开新闻路径 
  37. fwrite($handle,$str); //把刚才替换的内容写进生成的HTML文件 
  38. fclose($handle); 
  39.  
  40.  
  41. //收尾工作: 
  42. echo "<a href=$path target=_blank>查看刚才添加的新闻</a>"

mysql_inc.php数据库连接文件,代码如下:

  1. <?php 
  2.    class mysql{ 
  3.      private $host;// 
  4.      private $name;// 
  5.      private $pass;// 
  6.      private $database;// 
  7.      private $ut;// 
  8.  
  9.      function __construct($host,$name,$pass,$database,$ut){ 
  10.       $this->host=$host
  11.       $this->name=$name
  12.       $this->pass=$pass
  13.       $this->database=$database
  14.       $this->ut=$ut
  15.       $this->connect(); 
  16.  
  17.      } 
  18.      function connect(){ 
  19.       $link=mysql_connect($this->host,$this->name,$this->pass) or die ($this->error()); 
  20.       mysql_select_db($this->database,$linkor die("没发现数据库".$this->database); 
  21.       mysql_query("SET NAMES '$this->ut'"); 
  22.      } 
  23.  
  24.  function query($sql$type = '') { 
  25.      if(!($query = mysql_query($sql))) $this->show('Say:'$sql); 
  26.      return $query
  27.  } 
  28.  
  29.     function show($message = ''$sql = '') { 
  30.   if(!$sqlecho $message
  31.   else echo $message.'<br>'.$sql
  32.  } 
  33.  
  34.     function affected_rows() { 
  35.   return mysql_affected_rows(); 
  36.  } 
  37.  
  38.  function result($query$row) { 
  39.   return mysql_result($query$row); 
  40.  } 
  41.  
  42.  function num_rows($query) { 
  43.   return @mysql_num_rows($query); 
  44.  } 
  45.  
  46.  function num_fields($query) { 
  47.   return mysql_num_fields($query); 
  48.  } 
  49.  
  50.  function free_result($query) { 
  51.   return mysql_free_result($query); 
  52.  } 
  53.  
  54.  function insert_id() { 
  55.   return mysql_insert_id(); 
  56.  } 
  57.  
  58.  function fetch_row($query) { 
  59.   return mysql_fetch_row($query); 
  60.  } 
  61.  
  62.  function version() { 
  63.   return mysql_get_server_info(); 
  64.  } 
  65.  
  66.  function close() { 
  67.   return mysql_close(); 
  68.  } 
  69.       function htmtocode($content){ 
  70.      $content=str_replace("n","<br>",str_replace(" ","&nbsp",$content)); 
  71.      return $content
  72.      } 
  73.    } 
  74.  
  75.    $db=new mysql("localhost","root","","database","utf8"); 
  76. ?> 

Tags: php生成html php静态页面

分享到: