ホームページ  >  記事  >  php教程  >  php生成html静态页面完整实例

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

WBOY
WBOYオリジナル
2016-05-25 16:44:371148ブラウズ

如果你是一个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文件代码如下:

<?php
require_once ("mysql_inc.php"); //引用conn.php,连接数据库
$title = $_POST[&#39;title&#39;];
$content = $_POST[&#39;content&#39;]; //获得表单变量
//以下建立一文本文档,其值自动计数
$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&hellip;&hellip;&hellip;.添加一条新闻便自动加上1
//以下用SQL语句添加数据至表 news
$sql = "insert into news (id,title,content,path) values (&#39;&#39;,&#39;" . $title . "&#39;,&#39;" . $content . "&#39;,&#39;" . $path . "&#39;)";
$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 &#39;$this->ut&#39;");
    }
    function query($sql, $type = &#39;&#39;) {
        if (!($query = mysql_query($sql))) $this->show(&#39;Say:&#39;, $sql);
        return $query;
    }
    function show($message = &#39;&#39;, $sql = &#39;&#39;) {
        if (!$sql) echo $message;
        else echo $message . &#39;<br>&#39; . $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(" ", "&nbsp", $content));
        return $content;
    }
}
$db = new mysql("localhost", "root", "", "database", "utf8");
?>


文章地址:

转载随意^^请带上本文地址!

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。