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 相关文章推荐
php5中类的学习
Mar 28 PHP
一个比较简单的PHP 分页分组类
Dec 10 PHP
hadoop中一些常用的命令介绍
Jun 19 PHP
php根据操作系统转换文件名大小写的方法
Feb 24 PHP
ThinkPHP中的关联模型注意点
Jun 16 PHP
thinkphp中memcache的用法实例
Nov 29 PHP
php调用mysql存储过程实例分析
Dec 29 PHP
php实现的用户查询类实例
Jun 18 PHP
PHP实现发送邮件的方法(基于简单邮件发送类)
Dec 17 PHP
PHP中file_put_contents追加和换行的实现方法
Apr 01 PHP
Thinkphp5.0框架视图view的循环标签用法示例
Oct 12 PHP
php use和include区别总结
Oct 13 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
php注销代码(session注销)
2012/05/31 PHP
php过滤XSS攻击的函数
2013/11/12 PHP
基于thinkPHP类的插入数据库操作功能示例
2017/01/06 PHP
基于php+MySql实现学生信息管理系统实例
2020/08/04 PHP
js 跳出页面的frameset框架示例介绍
2013/12/23 Javascript
jQuery中验证表单提交方式及序列化表单内容的实现
2014/01/06 Javascript
收集json解析的四种方法分享
2014/01/17 Javascript
使用javascript控制cookie显示和隐藏背景图
2014/02/12 Javascript
JavaScript判断文件上传类型的方法
2014/09/02 Javascript
精彩的Bootstrap案例分享 重点在注释!(选项卡、栅格布局)
2016/07/01 Javascript
深入理解jQuery3.0的domManip函数
2016/09/01 Javascript
jQuery实现底部浮动窗口效果
2016/09/07 Javascript
第一次接触Bootstrap框架
2016/10/24 Javascript
JS实现页面进入和返回定位到具体位置
2016/12/08 Javascript
100多个基础常用JS函数和语法集合大全
2017/02/16 Javascript
详解angular2实现ng2-router 路由和嵌套路由
2017/03/24 Javascript
Vuejs 2.0 子组件访问/调用父组件的方法(示例代码)
2018/02/08 Javascript
JavaScript中的E-mail 地址格式验证
2018/03/28 Javascript
js+css实现红包雨效果
2018/07/12 Javascript
解决vue无法设置滚动位置的问题
2018/10/07 Javascript
Django 根据数据模型models创建数据表的实例
2018/05/27 Python
Python Unittest根据不同测试环境跳过用例的方法
2018/12/16 Python
PyQt5重写QComboBox的鼠标点击事件方法
2019/06/25 Python
Python collections中的双向队列deque简单介绍详解
2019/11/04 Python
Django-rest-framework中过滤器的定制实例
2020/04/01 Python
html5定位获取当前位置并在百度地图上显示
2014/08/22 HTML / CSS
英国优质家居用品网上品牌:URBANARA
2018/06/01 全球购物
西班牙宠物用品和食品网上商店:Tiendanimal
2019/06/06 全球购物
百度JavaScript笔试题
2015/01/15 面试题
掌上明珠Java程序员面试总结
2016/02/23 面试题
公益广告语集锦
2014/03/13 职场文书
班级寄语大全
2014/04/10 职场文书
我心目中的好老师活动方案
2014/08/19 职场文书
房产电话营销开场白
2015/05/29 职场文书
同意报考证明
2015/06/17 职场文书
关于golang高并发的实现与注意事项说明
2021/05/08 Golang