php生成静态页面的简单示例


Posted in PHP onApril 17, 2014

发布新闻,实现新闻页面静态化,真静态

add.php

<html>
 <head>添加新闻</head> <body>
   <form method="post" action="doadd.php"> 
     新闻标题:<input type="text" name="title" size="100"><br>
     新闻内容:<textarea name="content" cols="100" rows="25"></textarea><br>
     <input type="submit" name="提交">
   </form>
 </body>
</html>

config.php

<?php 
 define("HOST", "localhost");
 define("USER", "justfan");
 define("PWD", "justfan");
 define("DB", "justfanDB");
 define("PORT", "3360");
?>

DB_class.php

<?php
 class DB
 {
  private $host = '';
  private $uname = '';
  private $pwd = '';
  private $port = '';
  private $db = '';
     public static $instance = null;   private function __construct($host , $uname , $pwd , $port , $db)
  {
   $this->host = $host;
   $this->uname = $uname;
   $this->port = $port;
   $this->pwd = $pwd;
   $this->db = $db;
   mysql_connect($host,$uname,$pwd);
   mysql_select_db($this->db);
  }
  public static function Instance()
  {
   if(Db::$instance==null){
    include 'config.php';
    return Db::$instance = new DB(HOST, USER, PWD, PORT, DB);
   } 
   else 
    return Db::$instance;
  }
  public function query($sql)
  {
   mysql_query("SET NAMES UTF8");
   $query = mysql_query($sql) or die($sql." error");
   if(!$query) return false;
   else   return $query;
  }
  
  public function getAll($sql)
  {
   $query = $this->query($sql);
   if($query)
   {
    while($ret = mysql_fetch_assoc($query))
    {
     $result[] = $ret;
    }
   }   
   return $result;
  }
  
 }
?>

doadd.php

<?php 
include 'DB_class.php';
$db = DB::Instance();
$title=$_POST["title"];
$content=$_POST["content"]; 
$num = uniqid();
$houzui=".html";
$filename=date('Ymd').'/'.$num.$houzui;
$sql="insert into news(title,content,path) values ('{$title}' , '{$content}' , '{$filename}')";
$query = $db->query($sql);
$fp=fopen("model.htm","r");
$str=fread($fp,filesize("model.htm"));
$str=str_replace("{title}",$title,$str);
$str=str_replace("{content}",$content,$str);
fclose($fp);
$dir = dirname($filename);
if(!is_dir($dir)){
 mkdir($dir);
}
$handle=fopen($filename,"w"); 
fwrite($handle,$str); 
fclose($handle);
 
echo "<a href={$filename} target=_blank>查看刚才添加的新闻</a>";
echo "<a href='add.php'>添加新闻</a>";
?>

model.htm

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <script type="text/javascript" src="//code.jquery.com/jquery-1.10.2.min.js"></script>
 <script type="text/javascript" src="../bootstrap/js/bootstrap.min.js"></script>
 <link rel="stylesheet" href="../bootstrap/css/bootstrap.min.css">
 <link rel="stylesheet" href="../bootstrap/css/common.css">
 <title>{title}</title>
</head>
  <body>
    <div class="container">
      <div class="jumbotron">
        <h1>{title}</h1>
        <p>{content}</p>
      </div>
    </div>
  </body>
</html>
PHP 相关文章推荐
php学习之 认清变量的作用范围
Jan 26 PHP
PHP在获取指定目录下的目录,在获取的目录下面再创建文件,多平台
Aug 03 PHP
php和mysql中uft-8中文编码乱码的几种解决办法
Apr 19 PHP
深入php-fpm的两种进程管理模式详解
Jun 03 PHP
深入php多态的实现详解
Jun 09 PHP
提高PHP性能的编码技巧以及性能优化详细解析
Aug 24 PHP
个人写的PHP验证码生成类分享
Aug 21 PHP
PHP编译安装时常见错误解决办法
May 28 PHP
Twig模板引擎用法入门教程
Jan 20 PHP
PHP的Yii框架中移除组件所绑定的行为的方法
Mar 18 PHP
PHP封装的多文件上传类实例与用法详解
Feb 07 PHP
PHP7 其他语言层面的修改
Mar 09 PHP
php文件服务实现虚拟挂载其他目录示例
Apr 17 #PHP
php实现12306余票查询、价格查询示例
Apr 17 #PHP
PHP5.5在windows安装使用memcached服务端的方法
Apr 16 #PHP
纯PHP生成的一个树叶图片画图例子
Apr 16 #PHP
通过dbi使用perl连接mysql数据库的方法
Apr 16 #PHP
php sybase_fetch_array使用方法
Apr 15 #PHP
强制PHP命令行脚本单进程运行的方法
Apr 15 #PHP
You might like
一个简单的自动发送邮件系统(二)
2006/10/09 PHP
php处理多图上传压缩代码功能
2018/06/13 PHP
PHP实现SMTP邮件的发送实例
2018/09/27 PHP
PHP实现的62进制转10进制,10进制转62进制函数示例
2019/06/06 PHP
ASP中用Join和Array,可以加快字符连接速度的代码
2007/08/22 Javascript
心扬JS分页函数代码
2010/09/10 Javascript
jQuery 定时局部刷新(setInterval)
2010/11/19 Javascript
10条建议帮助你创建更好的jQuery插件
2015/05/18 Javascript
JavaScript 函数的执行过程
2016/05/09 Javascript
ionic 上拉菜单(ActionSheet)实例代码
2016/06/06 Javascript
js的各种排序算法实现(总结)
2016/07/23 Javascript
微信小程序之MaterialDesign--input组件详解
2017/02/15 Javascript
原生js实现日期计算器功能
2017/02/17 Javascript
vue引入微信sdk 实现分享朋友圈获取地理位置功能
2019/07/04 Javascript
nodejs环境使用Typeorm连接查询Oracle数据
2019/12/05 NodeJs
使用 Jest 和 Supertest 进行接口端点测试实例详解
2020/04/25 Javascript
解决Echarts2竖直datazoom滑动后显示数据不全的问题
2020/07/20 Javascript
Vue js with语句原理及用法解析
2020/09/03 Javascript
[43:36]Liquid vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python获取电脑硬件信息及状态的实现方法
2014/08/29 Python
python将图片文件转换成base64编码的方法
2015/03/14 Python
使用python在本地电脑上快速处理数据
2017/06/22 Python
python数据结构之线性表的顺序存储结构
2018/09/28 Python
pytorch 自定义卷积核进行卷积操作方式
2019/12/30 Python
python 实现Requests发送带cookies的请求
2021/02/08 Python
adidas官方旗舰店:德国运动用品制造商
2017/11/25 全球购物
宝宝周岁宴答谢词
2014/01/26 职场文书
原料仓管员岗位职责
2014/04/12 职场文书
疾病捐款倡议书
2014/05/13 职场文书
优秀班主任材料
2014/12/16 职场文书
家长对孩子的寄语
2015/02/26 职场文书
2015年项目工作总结
2015/04/29 职场文书
百万英镑观后感
2015/06/09 职场文书
600字作文之感受大自然
2019/11/27 职场文书
微信小程序用户授权最佳实践指南
2021/05/08 Javascript
jupyter notebook保存文件默认路径更改方法汇总(亲测可以)
2021/06/09 Python