-- 導出表中的數據 `news`
php生成靜態頁(收2)
兩個文件:
Addnews.php
Template.html
還有一個數據庫
首先建立數據庫,然後調用addnews.php,然後可以得到結果.
得到的html文件的名字是由當前日期加上標題構成,如果需要用唯一的東西來生成html的話,最好使用sql中的自增的id,或者自建一個當天的臨時數據,來聯合生成html文件名.
本程序使用了php中
數據庫操作,文件操作等知識.曾見過有牛人用ob_start寫,利用了緩衝,方法也不錯.
Addnews.php程序如下:
<?php
$conn=mysql_connect(’localhost’,’root’,’myz’);
if (mysqli_connect_errno())
{
echo
mysqli_connect_error();
exit;
}
mysql_select_db(’myztohtml’,$conn);
mysql_query("SET NAMES ’gbk’");
if (isset($_POST[’submit’]))
{
$title=$_POST[’title’];
$content=$_POST[’content’];
$time=date(’Ymd’);
$query = "INSERT INTO news
(title,content,time) VALUES
(’".$title."’,’".$content."’,’".$time."’)";
$result=mysql_query($query);
if ($result)
{
$filename=$_SERVER[’DOCUMENT_ROOT’].dirname($_SERVER[’PHP_SELF’]).’/’.$time.$title.’.html’;
$fp=fopen($filename,’w’);
$filenameT=$_SERVER[’DOCUMENT_ROOT’].dirname($_SERVER[’PHP_SELF’]).’/template.html’;
$fpT=fopen($filenameT,’r’);
$str=fread($fpT,filesize($filenameT));
$str=str_replace(’{title}’,$title,$str);
$str=str_replace(’{content}’,$content,$str);
fwrite($fp,$str);
fclose($fp);
fclose($fpT);
echo ’ok! ’.’view the htmlnews
output:<a
href="’.$time.$title.’.html">’.$title.’</a>’;
}
}
?>
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=gbk"
/>
<title></title>
</head>
<body>
<form method="post"
action="addnews.php">
新聞標題:<input type="text"
name="title"><br
/>
新聞內容:<textarea
name="content"></textarea><br
/>
<input type="submit"
name="submit" value="提交">
</form>
</body>
</html>
Template.html如下:
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=gbk"
/>
<title>{title}</title>
</head>
<body>
{content}
</body>
</html>
數據庫如下:
-- phpMyAdmin SQL Dump
-- version 2.10.1
--
-- 主機: localhost
-- 生成日期: 2007 年 07 月 18 日 16:55
-- 服務器版本: 5.0.27
-- PHP 版本: 5.2.1
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- 數據庫: `myztohtml`
--
--
--------------------------------------------------------
--
-- 表的結構 `news`
--
CREATE TABLE `news` (
`id` mediumint(9) NOT NULL auto_increment
COMMENT ’編號’,
`title` varchar(50) NOT NULL COMMENT
’標題’,
`content` varchar(200) NOT NULL COMMENT
’內容’,
`time` date NOT NULL COMMENT
’日期’,
PRIMARY KEY
(`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk AUTO_INCREMENT=1
;
--
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.