先建一个网页模板文件,命名为tmp.html,内容如下:
<!DOCTYPE html>
<html>
    <head>
        <title>{title}</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body>
        {content}
    </body>
</html>

 
其中的{title}和{content}为将来要替换的内容
 
然后再建一个htm.php文件,用来生成html文件,内容如下:
 
  1. $con=array(array('新闻标题','新闻内容'),array('新闻标题2','新闻内容2'));
  2. foreach($con as $id=>$val){
      $title=$val[0];
      $content=$val[1];
      $path=$id.'.htm';
      $fp=fopen("tmp.htm","r"); //只读打开模板
      $str=fread($fp,filesize("tmp.htm"));//读取模板中内容
      $str=str_replace("{title}",$title,$str);
      $str=str_replace("{content}",$content,$str);//替换内容
      fclose($fp);
  3. $handle=fopen($path,"w"); //写入方式打开新闻路径
      fwrite($handle,$str); //把刚才替换的内容写进生成的HTML文件
      fclose($handle);
      echo "生成成功";
      }
     // unlink($path); //删除文件/ unlink($path); //删除文件
<?php
header("content-type:text/html; charset=utf-8");
$db = new mysqli();
$db->connect("localhost", "root", "", "news");
$db->query("set names 'utf8'");
$sql = "select * from article order by id desc";
$result = $db->query($sql);
while ($row = $result->fetch_array()) {
    $title = $row['title'];      //从数据库中取出新闻标题存放到变量$title中
    $content = $row['content'];   //从数据库中取出新闻内容存放到变量$content中
    $path = $row['id'] . ".html";   //根据新闻id来生成新闻路径
    $fp = fopen("tmp.html", "r");  //一只读方式打开模板文件
    $str = fread($fp, filesize("tmp.html"));   //读取模板文件中的全部内容
    $str = str_replace("{title}", $title, $str);   //用存储在变量$title中的新闻标题替换模板中的标题
    $str = str_replace("{content}", $content, $str);  //用存储在变量$content中的新闻内容替换模板中的内容
    fclose($fp);    //关闭模板文件
    $handle = fopen($path, "w");   //写入方式打开新闻路径
    fwrite($handle, $str);     //把刚才替换的内容写入生成的html文件
    fclose($handle);     //关闭文件
}
?>

 
执行htm.php文件,在该文件的目录中会生成和你的数据库中记录条数相同数量的html文件,其名称为1.html 2.html.......

php生成html 伪静态??的更多相关文章

  1. ThinkPHP的URL重写+路由+伪静态,实现SEO效果。

    1.URL重写,隐藏网址中的Index.php. ThinkPHP 作为 PHP 框架,是单一入口的,那么其原始的 URL 便不是那么友好.但 ThinkPHP提供了各种机制来定制需要的 URL 格式 ...

  2. ThinkPHP函数详解:U方法

    U方法用于完成对URL地址的组装,特点在于可以自动根据当前的URL模式和设置生成对应的URL地址,格式为:U('地址','参数','伪静态','是否跳转','显示域名');在模板中使用U方法而不是固定 ...

  3. Thinkphp单字母函数使用指南

    Thinkphp单字母函数使用指南A方法A方法用于在内部实例化控制器,调用格式:A('[项目://][分组/]模块','控制器层名称')最简单的用法: $User = A('User'); 复制代码 ...

  4. thinkphp中各字母代表的发放和具体实例

    hinkphp单字母函数使用指南A方法 A方法用于在内部实例化控制器,调用格式:A('[项目://][分组/]模块','控制器层名称') 最简单的用法: $User = A('User'); 复制代码 ...

  5. 学习时用的软件最新 开发环境为Visual Studio 2010,数据库为SQLServer2005,使用.net 4.0开发。 超市管理系统

    一.源码特点 1.采用典型的三层架构进行开发.模板分离,支持生成静态 伪静态..购物车.登陆验证.div+css.js等技术二.功能介绍 1.本源码是一个超市在线购物商城源码,该网上商城是给超市便利店 ...

  6. ***ThinkPHP中的常用方法汇总总结:M方法,D方法,U方法,I方法

    thinkPHP中M()和D()的区别 在实例化的过程中,经常使用D方法和M方法,这两个方法的区别在于M方法实例化模型无需用户为每个数据表定义模型类,如果D方法没有找到定义的模型类,则会自动调用M方法 ...

  7. PHP 公共方法分享180628

    查看php 类的详情:方法.常量.属性( type(new \Illuminate\Http\Request());) /** * fixme 打印类详情 * @param $class object ...

  8. TP3.2单字母函数

    A方法 A方法用于在内部实例化控制器 调用格式:A(‘[项目://][分组/]模块’,’控制器层名称’) 最简单的用法: $User = A('User'); 表示实例化当前项目的UserAction ...

  9. WordPress强制跳转https教程

    在互联网火热的今天,安全问题显得越来越重要,为了用户信息安全,很多热门网站都启用了https 有小伙伴就问:我启用了https,为什么访问的时候显示的还是http呢? 其实,有时候并不是因为我们ssl ...

随机推荐

  1. Codeforces Round #364 (Div. 2) E. Connecting Universities

    E. Connecting Universities time limit per test 3 seconds memory limit per test 256 megabytes input s ...

  2. configure PUTTY to not time out

    To modify an existing session with "keep alives" to maintain your connection follow the st ...

  3. how to add a shared lib in C?

    http://www.cprogramming.com/tutorial/shared-libraries-linux-gcc.html Basically, 2 steps: 1) make the ...

  4. 【转】虚拟机下安装小红帽Linux9.0图解

    http://blog.163.com/ly676830315@126/blog/static/10173372220119148583539/

  5. think in uml 2.1

    业务建模

  6. hibernate ——关联关系

    1.一对一单向外键关联 <?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-configuration PUBLIC ...

  7. 【字母全排列】 poj 1256

    深搜   注意与STL模版的去重函数唯一的区别就是有去重. #include <iostream> #include <cstdio> #include <string. ...

  8. 事件委托小demo(原生版)

    <style type="text/css"> body, div, span { margin:; padding:; font-family: "\5FA ...

  9. Anton and School

    Anton and School time limit per test 2 seconds memory limit per test 256 megabytes input standard in ...

  10. T-shirts Distribution

    T-shirts Distribution time limit per test 1 second memory limit per test 256 megabytes input standar ...