先建一个网页模板文件,命名为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. hdu_3709_Balanced Number(数位DP)

    题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=3709 题意:给你一个区间,让你找平衡数的个数 题解:设dp[i][j][k]为前i位以第j位为支撑点的 ...

  2. Primes on Interval

    AC代码: #include <cstdio> #include <cstring> #include <iostream> #include <algori ...

  3. DDE复盘流程

    开始复盘: 1 导入前面数据 重新复盘: 1.打开行情管理器 2.关闭图表 3.删除tick和1分钟图 4.关闭行情管理器 5.开启.

  4. android网络编程之HttpUrlConnection的讲解--上传大文件

    1.服务器后台使用Servlet开发,这里不再介绍. 2.网络开发不要忘记在配置文件中添加访问网络的权限 <uses-permission android:name="android. ...

  5. oc汉子转拼音

    oc中可以不使用第三方库直接吧数组转成拼音: 代码如下: NSString *str = @"中国abc人民共和国"; CFStringRef aCFString=(__bridg ...

  6. 有了SSL证书,如何在IIS环境下部署https?【转载】

    昨天各位小伙伴都很开心的领取了自己的SSL证书,但是大部分小伙伴却不知道如何部署,也许是因为第一次接触SSL这种高端的东西吧,不过个人觉得就是懒懒懒...本来小编也挺懒的,但是答应了各位小伙伴的,那么 ...

  7. s7-300 第一讲

    s7-300的电源模块可选,s7-400必选

  8. 转: oracle 存储过程 执行动态 实现sql

    http://jingyan.baidu.com/article/5d6edee2fbb9f999eadeecb9.html http://jingyan.baidu.com/article/3638 ...

  9. OpenGL编程指南第版本学习笔记 --- OpenGL程序实现过程(win32 + OpenGL)

    1. 先上代码 头文件glCommon.h #include <GL/glew.h> #include <GL/GL.h> #include <GL/GLU.h> ...

  10. GCD is Funny

    GCD is Funny Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Pro ...