• Linux
  • apache
  • centos
  • Git版本管理
  • Linux基本命令
  • linux配置与优化
  • Nginx
  • PHP
  • Redis
  • Supervisor
  • Swoole
  • windows
  • THINKPHP
  • 开发者手册
  • Chat GPT / Open Ai
  • PHP生成静态HTML文档实现代码

    全屏阅读
  • 基本信息
  • 作者:
  • 作者已发布:925篇文章
  • 发布时间:2021年03月06日 22:01:25
  • 所属分类:html, PHP+MySql, WEB前端
  • 阅读次数:2044次阅读
  • 标签:
  • 利用PHP,将数据库中的文章数据生成单个的HTML文档。首先,有利于搜索引擎的收录。其次,避免数据库中的字段暴露在地址栏上,更安全。
    给出代码:

    <?php
    //引入数据库配置文件
    include( dirname(dirname(__FILE__))."\include\config.php" );
    
    /**
     * 
     * 将数据库中的文章生成单个HTML文件.
     * @param Date $Date
     * @param Time $Time
     * @param String $Content
     * @param String $Title
     */
    function GenerateHTML($Date,$Time,$Content,$Title,$Name){
    
    //将日期、时间变量分解成数组
    $GetDateRow = explode("-", $Date);
    $GetTimeRow = explode(":",$Time);
    
    //得到文件的名字。比如:20121028210632.html
    $FileName = $GetDateRow[0].$GetDateRow[1].$GetDateRow[2].$GetTimeRow[0].$GetTimeRow[1].$GetTimeRow[2].".html";
    
    //打开并读取模板内容
    $FP = fopen("tmp.html","r");
    $Str = fread($FP,filesize("tmp.html"));
    
    //得到替换后的模板内容
    $Str = str_replace("{Title}",$Title, $Str);
    $Str = str_replace("{Content}", $Content, $Str);
    $Str = str_replace("{Name}", $Name, $Str);
    $Str = str_replace("{Date}", $Date,$Str);
    $Str = str_replace("{Time}", $Time, $Str);
    
    //关闭文件,减少服务器的压力。
    fclose($FP);
    
    //将内容写入HTML文件
    $Handle = fopen($FileName,"w");
    fwrite($Handle,$Str);
    fclose($Handle);
    
    //小测一下
    //echo "ok,done!";
    
    }
    
    //数据库的操作
    $querysql = "select * from article";
    $queryset = mysql_query($querysql);
    
    //循环生成HTML文件。
    while( $row = mysql_fetch_array($queryset) ){
      GenerateHTML($row['date'],$row['time'],$row['content'],$row['title'],$row['name']);
    }

    顶一下
    (0)
    100%
    订阅 回复
    踩一下
    (0)
    100%
    » 郑重声明:本文由mpxq168发布,所有内容仅代表个人观点。版权归恒富网mpxq168共有,欢迎转载, 但未经作者同意必须保留此段声明,并给出文章连接,否则保留追究法律责任的权利! 如果本文侵犯了您的权益,请留言。
  • 【上一篇】
  • 【下一篇】
  • 目前有 0 条留言 其中:访客:0 条, 博主:0 条

    给我留言

    您必须 [ 登录 ] 才能发表留言!