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 进程锁定问题分析研究
Nov 24 PHP
web目录下不应该存在多余的程序(安全考虑)
May 09 PHP
PHP_NETWORK_GETADDRESSES: GETADDRINFO FAILED问题解决办法
May 04 PHP
PHP实现生成唯一编号(36进制的不重复编号)
Jul 01 PHP
PHP实现对站点内容外部链接的过滤方法
Sep 10 PHP
PHP中使用Memache作为进程锁的操作类分享
Mar 30 PHP
php为字符串前后添加指定数量字符的方法
May 04 PHP
PHP中两个float(浮点数)比较实例分析
Sep 27 PHP
Yii针对添加行的增删改查操作示例
Oct 18 PHP
php 生成签名及验证签名详解
Oct 26 PHP
详谈php ip2long 出现负数的原因及解决方法
Apr 05 PHP
Laravel框架源码解析之模型Model原理与用法解析
May 14 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 伪静态隐藏传递参数名的四种方法
2010/02/22 PHP
PHP CodeBase:将时间显示为&quot;刚刚&quot;&quot;n分钟/小时前&quot;的方法详解
2013/06/06 PHP
学习php设计模式 php实现装饰器模式(decorator)
2015/12/07 PHP
PHP实现可自定义样式的分页类
2016/03/29 PHP
Yii2框架加载css和js文件的方法分析
2019/05/25 PHP
jQuery 使用手册(二)
2009/09/23 Javascript
window.location.hash 属性使用说明
2010/03/20 Javascript
ASP.NET jQuery 实例13 原创jQuery文本框字符限制插件-TextArea Counter
2012/02/03 Javascript
jQuery实现带渐显效果的人物多级关系图代码
2015/10/16 Javascript
JS实现页面数据无限加载
2016/09/13 Javascript
jQuery 局部div刷新和全局刷新方法总结
2016/10/05 Javascript
基于JS实现翻书效果的页面切换样式
2017/02/16 Javascript
微信小程序遇到修改数据后页面不渲染的问题解决
2017/03/09 Javascript
node.js实现登录注册页面
2017/04/08 Javascript
详解如何实现一个简单的 vuex
2018/02/10 Javascript
vue element-ui table表格滚动加载方法
2018/03/02 Javascript
js里面的变量范围分享
2020/07/18 Javascript
[58:21]DOTA2亚洲邀请赛 4.3 突围赛 Liquid vs VGJ.T 第二场
2018/04/04 DOTA
Python3实现从指定路径查找文件的方法
2015/05/22 Python
Python中join函数简单代码示例
2018/01/09 Python
Python sklearn KFold 生成交叉验证数据集的方法
2018/12/11 Python
python实现词法分析器
2019/01/31 Python
tensorflow模型文件(ckpt)转pb文件的方法(不知道输出节点名)
2020/04/22 Python
Python图像阈值化处理及算法比对实例解析
2020/06/19 Python
HTML5中使用postMessage实现Ajax跨域请求的方法
2016/04/19 HTML / CSS
英国文具、办公用品和科技商店:Ryman
2018/09/27 全球购物
大学生学习生活的自我评价
2013/11/01 职场文书
元旦获奖感言
2014/03/08 职场文书
房地产营销活动策划方案
2014/09/15 职场文书
县委班子四风对照检查材料思想汇报
2014/09/29 职场文书
2014年德育工作总结
2014/11/20 职场文书
2015年团委副书记工作总结
2015/07/23 职场文书
关于军训的感想
2015/08/07 职场文书
Nginx如何配置Http、Https、WS、WSS的方法步骤
2021/05/11 Servers
MySQL 重命名表的操作方法及注意事项
2021/05/21 MySQL
SQL Server中的游标介绍
2022/05/20 SQL Server