首页 > 软件开发 > HTML >

php生成静态html文件

来源:互联网 2023-03-16 19:11:59 103

在PHP网站开发中为了网站推广和SEO等需要,需要对网站进行全站或局部静态化处理,PHP生成静态HTML页面有多种方法,比如利用PHP模板、ob系列的函数,本文给大家讲解一下使用ob函数生成静态页面5Sj办公区 - 实用经验教程分享!

工具/原料

  • php
  • sublime

方法/步骤

  • 1

    5Sj办公区 - 实用经验教程分享!

    在执行之前,要在根目录下的程序入口文件index.php中进行如下配置:5Sj办公区 - 实用经验教程分享!

    //生成静态页面的文件位置define('HTML_PATH', './HTML/');5Sj办公区 - 实用经验教程分享!

    5Sj办公区 - 实用经验教程分享!

    php生成静态html文件5Sj办公区 - 实用经验教程分享!

  • 1此文章非法爬取自百度经验
  • 2

    // 生成静态html5Sj办公区 - 实用经验教程分享!

    function create_html($id,$title,$content){5Sj办公区 - 实用经验教程分享!

    ob_start();//开启静态缓存5Sj办公区 - 实用经验教程分享!

    $category_id = M("article")->where("id = $id")->getfield("category_id");5Sj办公区 - 实用经验教程分享!

    $nid = M("article")->field("id")->where("id > $id and category_id = $category_id")->getfield("id");5Sj办公区 - 实用经验教程分享!

    $pid = M("article")->field("id")->where("id $id and category_id = $category_id")->order("id desc")->getfield("id");5Sj办公区 - 实用经验教程分享!

    $server = "http://".$_SERVER['SERVER_NAME']."/";5Sj办公区 - 实用经验教程分享!

    if($pid>0){5Sj办公区 - 实用经验教程分享!

    $particle = M("article")->field("id,title,url")->where("id = '$pid'")->find();5Sj办公区 - 实用经验教程分享!

    if ($particle) {5Sj办公区 - 实用经验教程分享!

    $temples['particle'] = "上一篇:a href='".$server.$particle['url']."' title='".$particle['title']."'>".$particle['title']."/a>";5Sj办公区 - 实用经验教程分享!

    }else{5Sj办公区 - 实用经验教程分享!

    $temples['particle'] = "上一篇:没有了";5Sj办公区 - 实用经验教程分享!

    }5Sj办公区 - 实用经验教程分享!

    }else{5Sj办公区 - 实用经验教程分享!

    $temples['particle'] = "上一篇:没有了";5Sj办公区 - 实用经验教程分享!

    }5Sj办公区 - 实用经验教程分享!

    if($nid>0){5Sj办公区 - 实用经验教程分享!

    $narticle = M("article")->field("id,title,url")->where("id = '$nid'")->find();5Sj办公区 - 实用经验教程分享!

    if ($narticle) {5Sj办公区 - 实用经验教程分享!

    $temples['narticle'] = "下一篇:a href='".$server.$narticle['url']."' title='".$narticle['title']."'>".$narticle['title']."/a>";5Sj办公区 - 实用经验教程分享!

    }else{5Sj办公区 - 实用经验教程分享!

    $temples['narticle'] = "下一篇:没有了";5Sj办公区 - 实用经验教程分享!

    }5Sj办公区 - 实用经验教程分享!

    }else{5Sj办公区 - 实用经验教程分享!

    $temples['narticle'] = "下一篇:没有了";5Sj办公区 - 实用经验教程分享!

    }5Sj办公区 - 实用经验教程分享!

    // 判断数据库中是否有这个静态文件,如果有更新url,如果没有增加html5Sj办公区 - 实用经验教程分享!

    $article = M("article")->field("id,title,url")->where("id = '$id'")->find();5Sj办公区 - 实用经验教程分享!

    $temples['title'] = $title;5Sj办公区 - 实用经验教程分享!

    $temples['content'] = $content;5Sj办公区 - 实用经验教程分享!

    require("new_file.html");//引用模板文件5Sj办公区 - 实用经验教程分享!

    $path = M("category")->where("id = $category_id")->getfield("url")."/".date("Ymd");5Sj办公区 - 实用经验教程分享!

    if (!is_dir($path)) mkdir($path,0777,true); // 如果不存在则创建 5Sj办公区 - 实用经验教程分享!

    $url = $path."/".$id.".html";5Sj办公区 - 实用经验教程分享!

    $result = file_put_contents($url, ob_get_clean()); //ob_get_clean()获取当前缓冲区内容并清除当前的输出缓冲5Sj办公区 - 实用经验教程分享!

    $up_url = M("article")->where("id = '$id'")->setfield("url",$url);5Sj办公区 - 实用经验教程分享!

    return $result;5Sj办公区 - 实用经验教程分享!

    }5Sj办公区 - 实用经验教程分享!

    php生成静态html文件5Sj办公区 - 实用经验教程分享!

  • 3

    //新闻列表5Sj办公区 - 实用经验教程分享!

    CREATE TABLE `news_article` (5Sj办公区 - 实用经验教程分享!

    `id` int(11) NOT NULL AUTO_INCREMENT,5Sj办公区 - 实用经验教程分享!

    `category_id` int(11) NOT NULL COMMENT '新闻栏目id',5Sj办公区 - 实用经验教程分享!

    `publisher` int(11) NOT NULL COMMENT '发布者',5Sj办公区 - 实用经验教程分享!

    `title` varchar(50) NOT NULL COMMENT '文章标题',5Sj办公区 - 实用经验教程分享!

    `content` text NOT NULL COMMENT '新闻内容',5Sj办公区 - 实用经验教程分享!

    `keywords` varchar(255) NOT NULL COMMENT '关键字',5Sj办公区 - 实用经验教程分享!

    `flag` varchar(11) NOT NULL COMMENT '属性',5Sj办公区 - 实用经验教程分享!

    `description` varchar(255) NOT NULL COMMENT '描述',5Sj办公区 - 实用经验教程分享!

    `img` varchar(255) NOT NULL,5Sj办公区 - 实用经验教程分享!

    `url` varchar(255) NOT NULL COMMENT '静态url',5Sj办公区 - 实用经验教程分享!

    `addtime` varchar(20) NOT NULL COMMENT '添加时间',5Sj办公区 - 实用经验教程分享!

    PRIMARY KEY (`id`)5Sj办公区 - 实用经验教程分享!

    ) ENGINE=MyISAM AUTO_INCREMENT=51 DEFAULT CHARSET=utf8 COMMENT='新闻表';5Sj办公区 - 实用经验教程分享!

    php生成静态html文件5Sj办公区 - 实用经验教程分享!

  • 4

    //新闻栏目表5Sj办公区 - 实用经验教程分享!

    CREATE TABLE `news_category` (5Sj办公区 - 实用经验教程分享!

    `id` int(11) NOT NULL AUTO_INCREMENT,5Sj办公区 - 实用经验教程分享!

    `pid` int(11) NOT NULL,5Sj办公区 - 实用经验教程分享!

    `name` varchar(20) NOT NULL COMMENT '类别名称',5Sj办公区 - 实用经验教程分享!

    `alias` varchar(20) NOT NULL COMMENT '别名',5Sj办公区 - 实用经验教程分享!

    `sort` int(11) NOT NULL COMMENT '排序',5Sj办公区 - 实用经验教程分享!

    `url` varchar(255) NOT NULL,5Sj办公区 - 实用经验教程分享!

    `lv` int(11) NOT NULL,5Sj办公区 - 实用经验教程分享!

    PRIMARY KEY (`id`)5Sj办公区 - 实用经验教程分享!

    ) ENGINE=MyISAM AUTO_INCREMENT=11 DEFAULT CHARSET=utf8 COMMENT='新闻栏目表';5Sj办公区 - 实用经验教程分享!

    php生成静态html文件5Sj办公区 - 实用经验教程分享!

  • 5

    这是一个比较简单的生成静态页面的方法,您只需要掌握ob函数,灵活运用即可。这里我只是根据我的需求封装了一个生成静态页面的函数,您可根据自己网站需求自行更改5Sj办公区 - 实用经验教程分享!

    php生成静态html文件5Sj办公区 - 实用经验教程分享!

  • 注意事项

    • 注意文件引用路径

    以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!5Sj办公区 - 实用经验教程分享!


    标签: HTMLPHP

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码