PHP生成静态页大致的方法(实例)

例子:
把下面的源码保存为:news.php

<?php
//echo realpath("template/templates1.html");
//exit;
include("tohtml.php");
$tohtml = new _to_html();
$connect = mysql_connect("localhost","root","") or die("not found server");
@mysql_select_db("test");
mysql_query("set names 'gb2312'");
$result = mysql_query("select id,title,data from news",$connect);
$str = "";
while($row = mysql_fetch_array($result)){

   $str.=<<<eot
    <li><a href="content.php?id={$row[id]}">{$row[title]}</a>
    </li>
eot;

   //$str.='<li><a href="content.php?id='.$row[id].'">'.$row[title].'</a></li>';
}
mysql_close($connect);
$tohtml->_init();
$tohtml->_read_template("template/templates1.html");
$tohtml->_replace_html($str,$tohtml->temp_content);
$tohtml->_tohtml_file("news.html");
?>

类文件:把下面的代码保存为:tohtml.php

<?php
class _to_html{
    private $filename;//文件的名字
public $temp_content;//读入模板内容
   
public function _init(){
      ob_start();//初始化类,
}
   
//读入模板到一个字符串
public function _read_template($template){
   $fp = fopen($template,"r");
   $content = fread($fp,filesize(realpath($template)));
   $this->temp_content = $content;
   fclose($fp);
   }
//替换内容
public function _replace_html($var_array,$template){
      $content = str_replace('{new_list}',$var_array,$template);
   echo $content;
}
//生成页面
public function _tohtml_file($filename){
      if(is_file($filename)){
    @unlink($filename);
   }
   $file = @fopen($filename,"w");
   if(!is_writable($filename)){
    echo "可写";
       return false;
   }
   $content = ob_get_contents();
   ob_end_clean();
   if (!fwrite($file,$content)){
              return false;
          }
          fclose ($file); //关闭指针
    echo 'success!';
            //return $file_cjjer_name;
}
}
?>

模块文件:template/template1.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document cc</TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>

<BODY>
<div>新闻列表</div>
<div>{new_list}</div>
</BODY>
</HTML>

sql文件内容:

-- phpMyAdmin SQL Dump
-- version 2.6.2-pl1
--
http://www.phpmyadmin.net
--
-- 主机: localhost
-- 生成日期: 2008 年 05 月 13 日 09:35
-- 服务器版本: 5.0.45
-- PHP 版本: 5.2.5
--
-- 数据库: `test`
--

-- --------------------------------------------------------

--
-- 表的结构 `news`
--

CREATE TABLE `news` (
`id` tinyint(10) NOT NULL auto_increment,
`title` varchar(200) character set utf8 collate utf8_bin NOT NULL,
`content` tinytext character set utf8 collate utf8_bin NOT NULL,
`data` date NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;

--
-- 导出表中的数据 `news`
--

INSERT INTO `news` VALUES (1, 0xe8aebee8aea1e6a8a1e5bc8fe58faae698afe4b8ba204a61766120e69eb6e69e84e5b888e58786e5a487e79a8420e28094e2809420e887b3e5b091e682a8e58fafe883bde4b880e79bb4e8bf99e6a0b7e8aea4e4b8ba, 0xe8aebee8aea1e6a8a1e5bc8f20e4b880e4b9a6e5b086e8aebee8aea1e6a8a1e5bc8fe5bc95e585a5e8bdafe4bbb6e7a4bee58cbaefbc8ce8afa5e4b9a6e79a84e4bd9ce88085e698af2045726963682047616d6d61e38081526963686172642048656c6de3808152616c7068204a6f686e736f6e20e5928c204a6f686e20566c697373696465732044657369676eefbc88e4bf97e7a7b020e2809ce59b9be4babae5b8aee2809defbc89e38082e68980e4bb8be7bb8de79a84e8aebee8aea1e6a8a1e5bc8fe8838ce5908ee79a84e6a0b8e5bf83e6a682e5bfb5e99d9ee5b8b8e7ae80e58d95e38082e7bb8fe8bf87e5a49ae5b9b4e79a84e8bdafe4bbb6, '2008-05-13');
INSERT INTO `news` VALUES (2, 0xe69c80e5889de59ca8e8aebee8aea1e6a8a1e5bc8f20e4b880e4b9a6e4b8adefbc8ce8aeb8e5a49ae8aebee8aea1e6a8a1e5bc8fe983bde9bc93e58ab1e4bdbfe794a8e69dbee695a3e880a6e59088, 0xe69c80e5889de59ca8e8aebee8aea1e6a8a1e5bc8f20e4b880e4b9a6e4b8adefbc8ce8aeb8e5a49ae8aebee8aea1e6a8a1e5bc8fe983bde9bc93e58ab1e4bdbfe794a8e69dbee695a3e880a6e59088, '2008-05-12');
       

以上是模拟一个生成新闻一静太页面的方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值