两个文件:
Addnews.Php
Template.html
还有一个数据库
首先建立数据库,然后调用addnews.Php,然后可以得到结果.
得到的html文件的名字是由当前日期加上标题构成,如果需要用唯一的东西来生成html的话,最好使用sql中的自增的id,或者自建一个当天的临时数据,来联合生成html文件名.
本程序使用了Php中 数据库操作,文件操作等知识.曾见过有牛人用ob_start写,利用了缓冲,方法也不错.
HP0-302 HP0-401
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
-- http://www.Phpmyadmin.Net
HP0-538
--
-- 主机: 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 ;
-- 导出表中的数据 `news`
posted on 2007-09-03 15:15
php一道 阅读(721)
评论(2) 编辑 收藏 引用 网摘