如果你是一个seo工作者你估计要求把php文件全部转换成html页面了,这样可以对网站排名有好处,同时也可以减轻服务器apache负载了,下面我来介绍一个php生成静态页面实例.
addform.php文件代码如下:
- <form action="add.php" method="post" >
- 新闻标题:
- <input type="text" name="title" /><br>
- 新闻内容:<br>
- <textarea name="content" rows="10" cols="50" >
- </textarea><br>
- <input type="submit" name="submit" value="提交"/>
- </form>
add.php文件代码如下:
- require_once("mysql_inc.php"); //引用conn.php,连接数据库
- $title=$_POST['title'];
- $content=$_POST['content']; //获得表单变量
- //以下建立一文本文档,其值自动计数
- $countfile="count.txt";
- if(!file_exists($countfile))
- {
- fopen($countfile,"w"); //如果此文件不存在,则自动建立一个
- }
- $fp=fopen($countfile,"r");
- $num=fgets($fp,20);
- $num=$num+1; //每次其值自动加一
- fclose($fp);
- $fp=fopen($countfile,"w");
- fwrite($fp,$num); //更新其值
- fclose($fp);
- //利用上面自动计数的值获得HTML的路径$path
- $houzui=".html";
- $path=$num.$houzui;
- //这样形成的路径是自动增长的,如1.html,2.html,3.html……….添加一条新闻便自动加上1
- //以下用SQL语句添加数据至表 news
- $sql="insert into news (id,title,content,path) values ('','".$title."','".$content."','".$path."')";
- $query=mysql_query($sql);
- //以下为关键之处,把从表单获得的数据替换模板中的{title},{content}标记
- $fp=fopen("mode.html","r"); //只读打开模板
- $str=fread($fp,filesize("mode.html"));//读取模板中内容
- $str=str_replace("{title}",$title,$str);
- $str=str_replace("{content}",$content,$str);//替换内容
- fclose($fp);
- $handle=fopen($path,"w"); //写入方式打开新闻路径
- fwrite($handle,$str); //把刚才替换的内容写进生成的HTML文件
- fclose($handle);
- //收尾工作:
- echo "<a href=$path target=_blank>查看刚才添加的新闻</a>";
mysql_inc.php数据库连接文件,代码如下:
- <?php
- class mysql{
- private $host;//
- private $name;//
- private $pass;//
- private $database;//
- private $ut;//
- function __construct($host,$name,$pass,$database,$ut){
- $this->host=$host;
- $this->name=$name;
- $this->pass=$pass;
- $this->database=$database;
- $this->ut=$ut;
- $this->connect();
- }
- function connect(){
- $link=mysql_connect($this->host,$this->name,$this->pass) or die ($this->error());
- mysql_select_db($this->database,$link) or die("没发现数据库".$this->database);
- mysql_query("SET NAMES '$this->ut'");
- }
- function query($sql, $type = '') {
- if(!($query = mysql_query($sql))) $this->show('Say:', $sql);
- return $query;
- }
- function show($message = '', $sql = '') {
- if(!$sql) echo $message;
- else echo $message.'<br>'.$sql;
- }
- function affected_rows() {
- return mysql_affected_rows();
- }
- function result($query, $row) {
- return mysql_result($query, $row);
- }
- function num_rows($query) {
- return @mysql_num_rows($query);
- }
- function num_fields($query) {
- return mysql_num_fields($query);
- }
- function free_result($query) {
- return mysql_free_result($query);
- }
- function insert_id() {
- return mysql_insert_id();
- }
- function fetch_row($query) {
- return mysql_fetch_row($query);
- }
- function version() {
- return mysql_get_server_info();
- }
- function close() {
- return mysql_close();
- }
- function htmtocode($content){
- $content=str_replace("n","<br>",str_replace(" "," ",$content));
- return $content;
- }
- }
- $db=new mysql("localhost","root","","database","utf8");
- ?>
新闻热点
疑难解答