位置: 编程技术 - 正文

PHP实现HTML页面静态化的方法(php写html)

编辑:rootadmin

推荐整理分享PHP实现HTML页面静态化的方法(php写html),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php写html,php写html,php中写html代码,php中写html代码,php+html,php中写html代码,php怎么用html,php怎么用html,内容如对您有帮助,希望把文章链接给更多的朋友!

随着网站的内容的增多和用户访问量的增多,无可避免的是网站加载会越来越慢,受限于带宽和服务器同一时间的请求次数的限制,我们往往需要在此时对我们的网站进行代码优化和服务器配置的优化。一般情况下会从以下方面来做优化

动态页面静态化 优化数据库 使用负载均衡 使用缓存 使用CDN加速

现在很多网站在建设的时候都要进行静态化的处理,为什么网站要进行静态化处理呢?我们都知道纯静态网站是所有的网页都是独立的一个html页面,当我们访问的时候不需要经过数据的处理直接就能读取到文件,访问速度就可想而知了,而其对于搜索引擎而言也是非常友好的一个方式。纯静态网站在网站中是怎么实现的?纯静态的制作技术是需要先把网站的页面总结出来,分为多少个样式,然后把这些页面做成模板,生成的时候需要先读取源文件然后生成独立的以.html结尾的页面文件,所以说纯静态网站需要更大的空间,不过其实需要的空间也不会大多少的,尤其是对于中小型企业网站来说,从技术上来讲,大型网站想要全站实现纯静态化是比较困难的,生成的时间也太过于长了。不过中小型网站还是做成纯静态的比较,这样做的优点是很多的。

而动态网站又是怎么进行静态处理的?页面静态化是指将动态页面变成html/htm静态页面。动态页面一般由asp,php,jsp,.net等程序语言编写而成,非常便于管理。但是访问网页时还需要程序先处理一遍,所以导致访问速度相对较慢。而静态页面访问速度快,却又不便于管理。那么动态页面静态化即可以将两种页面的好处集中到一起。

静态处理后又给网站带来了哪些好处?

静态页面相对于动态页面更容易被搜索引擎收录。 访问静态页面不需要经过程序处理,因此可以提高运行速度。 减轻服务器负担。 HTML页面不会受Asp相关漏洞的影响。

静态处理后的网站相对没有静态化处理的网站来讲还比较有安全性,因为静态网站是不会是黑客攻击的首选对象,因为黑客在不知道你后台系统的情况下,黑 客从前台的静态页面很难进行攻击。同时还具有一定的稳定性,比如数据库或者网站的程序出了问题,他不会干扰到静态处理后的页面,不会因为程序或数据影响而 打不开页面。

搜索引擎蜘蛛程序更喜欢这样的网址,也可以减轻蜘蛛程序的工作负担,虽然有的人会认为现在搜索引擎完全有能力去抓取和识别动态的网址,在这里还是建议大家能做成静态的尽量做成静态网址。

下面我们主要来讲一讲页面静态化这个概念,希望对你有所帮助!什么是HTML静态化:

常说的页面静态化分为两种,一种是伪静态,即url 重写,一种是真静态化。在PHP网站开发中为了网站推广和SEO等需要,需要对网站进行全站或局部静态化处理,PHP生成静态HTML页面有多种方法,比如利用PHP模板、缓存等实现页面静态化。PHP静态化的简单理解就是使网站生成页面以静态HTML的形式展现在访客面前,PHP静态化分纯静态化和伪静态化,两者的区别在于PHP生成静态页面的处理机制不同。PHP伪静态:利用Apache mod_rewrite实现URL重写的方法。

PHP实现HTML页面静态化的方法(php写html)

HTML静态化的好处:

一、减轻服务器负担,浏览网页无需调用系统数据库。二、有利于搜索引擎优化SEO,Baidu、Google都会优先收录静态页面,不仅被收录的快还收录的全;三、加快页面打开速度,静态页面无需连接数据库打开速度较动态页面有明显提高;四、网站更安全,HTML页面不会受php程序相关漏洞的影响;观看一下大一点的网站基本全是静态页面,而且可以减少攻击,防sql注入。数据库出错时,不影响网站正常访问。五、数据库出错时,不影响网站的正常访问。最主要是可以增加访问速度,减轻服务器负担,当数据量有几万,几十万或是更多的时候你知道哪个更快了. 而且还容易被搜索引擎找到。生成html文章虽操作上麻烦些,程序上繁杂些,但为了更利于搜索,为了速度更快些,更安全,这些牺牲还是值得的。

实现HTML静态化的策略与实例讲解:基本方式file_put_contents()函数 使用php内置缓存机制实现页面静态化 —output-bufferring.

方法1:利用PHP模板生成静态页面

PHP模板实现静态化非常方便,比如安装和使用PHP Smarty实现网站静态化。在使用Smarty的情况下,也可以实现页面静态化。下面先简单说一下使用Smarty时通常动态读取的做法。 一般分这几步:1、通过URL传递一个参数(ID);2、然后根据此ID查询数据库;3、取得数据后根据需要修改显示内容;4、assign需要显示的数据;5、display模板文件。Smarty静态化过程只需要在上述过程中添加两个步骤。第一:在1之前使用 ob_start() 打开缓冲区。第二:在5之后使用 ob_get_contents() 获取内存未输出内容,然后使用fwrite()将内容写入目标html文件。 根据上述描述,此过程是在网站前台实现的,而内容管理(添加、修改、删除)通常是在后台进行,为了能有效利用上述过程,可以使用一点小手段,那就是Header()。具体过程是这样的:在添加、修改程序完成之后,使用Header() 跳到前台读取,这样可以实现页面HTML化,然后在生成html后再跳回后台管理侧,而这两个跳转过程是不可见的。

方法2:使用PHP文件读写功能生成静态页面

方法3:使用PHP输出控制函数(Output Control)/ob缓存机制生成静态页面输出控制函数(Output Control)也就是使用和控制缓存来生成静态HTML页面,也会使用到PHP文件读写函数。比如某个商品的动态详情页地址是: PHP生成静态页面实例代码 1

PHP生成静态页面实例代码 2

我们知道使用PHP进行网站开发,一般执行结果直接输出到游览器,为了使用PHP生成静态页面,就需要使用输出控制函数控制缓存区,以便获取缓存区的内容,然后再输出到静态HTML页面文件中以实现网站静态化。

PHP生成静态页面的思路为:首先开启缓存,然后输出了HTML内容(你也可以通过include将HTML内容以文件形式包含进来),之后获取缓存中的内容,清空缓存后通过PHP文件读写函数将缓存内容写入到静态HTML页面文件中。获得输出的缓存内容以生成静态HTML页面的过程需要使用三个函数:ob_start()、ob_get_contents()、ob_end_clean()。 知识点:1、ob_start函数一般主要是用来开启缓存,注意使用ob_start之前不能有任何输出,如空格、字符等。2、ob_get_contents函数主要用来获取缓存中的内容以字符串形式返回,注意此函数必须在ob_end_clean函数之前调用,否则获取不到缓存内容。3、ob_end_clean函数主要是清空缓存中的内容并关闭缓存,成功则返回True,失败则返回False 方法4:使用nosql从内存中读取内容(其实这个已经不算静态化了而是缓存);以memcache为例:

memcached是键值一一对应,key默认最大不能超过个字节,value默认大小是1M,因此1M大小满足大多数网页大小的存储。

标签: php写html

本文链接地址:https://www.jiuchutong.com/biancheng/275408.html 转载请保留说明!

上一篇:php对二维数组进行相关操作(排序、转换、去空白等)(php二维数组添加数据)

下一篇:php对文件夹进行相关操作(遍历、计算大小)(php文件包含的4种方式)

  • 固定资产的进项税额不允许抵扣的增值税属于
  • 防火门属于固定式防火风格
  • 实名制车票抵扣怎么操作
  • 计提代扣个人工会经费怎么做账
  • 应收帐款坏帐损失摘要
  • 残保金是所有企业都交么
  • 私人企业的资金来源
  • 口腔医院的发票有什么用
  • 私立医院增值税税率是多少
  • 增值税专用发票验票
  • 残保金补报
  • 小规模纳税人增值税政策
  • 批发零售的成本核算
  • 公司股东和自然人的区别
  • 营业执照副本编号是指什么
  • 应交增值税为负数代表什么
  • 活动展开方式怎么写
  • 发票遗失如何补开
  • c盘appdata怎么清理
  • 损益类科目的借方是增加还是减少
  • 以前年度原材料调出怎么做会计分录
  • 土地使用权转让协议
  • php删除用户
  • 长期股权投资转让需要交什么税
  • Win10电脑重装系统要多少钱
  • deepin怎么删除账户
  • 企业所得税汇算清缴
  • 代垫费用的进项怎么抵扣
  • win7无法记忆文件保存路径
  • seata+nacos
  • 在树洞中休息的英语
  • 存货捐赠视同销售要不要确认收入?
  • 发票密码什么意思
  • SpringBoot+Vue实现文件上传下载功能
  • php读取php文件内容
  • 计算机还热门吗
  • unplugin-auto-import/vite
  • VUE-CLI/VUE-ROUTER
  • thinkphp如何做微服务
  • ps打不出字怎么回事
  • phpcms怎么用
  • Joe是一款优雅功能强大的Typecho主题功能多上手快
  • 利息进项税是否含增值税
  • 小规模需要申报吗?
  • php增删改查语句
  • 不抵扣的进项税额用不用转出
  • access数据保存
  • 没进项发票开销项发票是可以吗?
  • 暂估入库账务处理举例
  • 固定资产一次性扣除政策
  • 第二季度所得税表中研发费用
  • 出口退税会计处理流程
  • 投资性房地产转换计入其他综合收益
  • 捐赠支出入账
  • 实缴增值税比计提增值税少怎么做账务处理
  • 没开发票能确认没开发票能确认收入申报纳税吗?
  • 房开企业预缴增值税
  • 第二年发票可以入上年账吗
  • 商品和服务税收分类编码是什么
  • 企业的培训费用
  • 小规模纳税人怎么开增值税专用发票
  • 货物丢失账务如何处理
  • 超市购物卡怎么办理
  • 日记账的设置
  • win7同步中心怎么关掉
  • linux vi命令详解菜鸟教学
  • win11连接win7共享打印机
  • linux升级系统版本
  • linux 查找语句
  • win10电脑补丁 kb5000802
  • Jquery+Ajax+PHP+MySQL实现分类列表管理(上)
  • 项目部不足和改进
  • 安卓安全警告怎么关闭
  • 'tools.jar' seems to be not in Android Studio classpath. Please ensure JAVA_HOME points to JDK rathe
  • 命令行执行bat文件
  • android教学
  • jquery上传文件到服务器
  • 浙江国税局电子税务局
  • 朝阳区地方税务局官网
  • 重庆车牌号申请
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设