随笔 - 61  文章 - 48  trackbacks - 0
<2007年9月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

留言簿(10)

随笔档案

收藏网站

搜索

  •  

最新评论

阅读排行榜

评论排行榜

两个文件: 
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)  编辑 收藏 引用 网摘

FeedBack:
# re: php生成静态页 2007-09-28 22:09 BLACK
ob_start

..
....

ob_get_contents  回复  更多评论
  
# re: php生成静态页 2007-10-20 23:08 S13
说老实话,我真的佩服你……
能够将广告贴搞成这样,也确实难为你了  回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: