php生成静态页

字体大小: 中小 标准 ->行高大小: 标准
两个文件:  
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`

此文章由 www.phpgz.com 收集整理 ,地址为: http://www.phpgz.com/htmls/1113.html

大屏阅读,大屏评论.