位置: 编程技术 - 正文

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

发布时间:2023-12-07

推荐整理分享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种方式)

  • 受让应收账款的账务处理
  • 弹性预算列表式如何计算
  • 小微企业所得税减免政策
  • 一般纳税人一直零申报会降为小规模吗
  • 个人捐款合法吗
  • 个人所得税定额扣除怎样理解
  • 企业所得税多缴退税规定
  • 会计制度方法
  • 番茄开发票属于蔬菜吗
  • 增值税是如何计提的
  • 员工拓展活动方案范文
  • 工资表多扣个税怎么做账
  • 视同销售计入销售费用能税前扣除吗
  • 应收账款转入呆账如何做帐
  • 一般纳税人转让二手车增值税税率
  • 单位购买定制的器材
  • 通用定额发票属于哪一类
  • 实际收到股票股利的分录
  • 红字发票信息表是销方还是购方开
  • 营改增后服务业增值税税率
  • 职工教育经费税前扣除标准2023年
  • 小规模季度超了9万怎么报增值税
  • 会议案例分析题及答案
  • 房产交易会涉及哪些费用
  • 代收水电费的会计分录
  • 建筑行业没有库存要做暂估成本怎么做?
  • 计算机著作权登记证书
  • 一次性收取一年服务费怎么确定收入
  • 境内所得和境外所得
  • 如何使用u盘安装win11
  • 应收账款余额包括预收账款
  • 没有发票申报纳税怎么办
  • 存货跌价准备减少
  • 控制层框架
  • 合宙air32f103 stlink
  • php curl_exec
  • 前端权限控制实战
  • php ffi
  • 付临时工工资需要什么材料
  • 改造后的固定资产入账价值
  • 现金流量表上期金额
  • 清包工一般计税如何开票
  • 工业企业存货核算方法
  • Excel导入数据库出错
  • 低值易耗品指的价格
  • 单位出租不动产,按照5%的征收率计算应纳税额
  • 什么叫查账征收和核定征收
  • 茶农的茶叶自产自销需要办哪些证
  • 劳务分包需要什么条件
  • 注册资金没有到位
  • 资产减值后折旧怎么算
  • 承兑汇票可以买卖吗?
  • 在哪找从平台消费的人
  • 会计凭证数字书写模板
  • 长期应付款涉及哪些业务,应如何进行核算
  • 资产减值损失怎么计提
  • 新增注册资金
  • mac忘记mysql初始密码
  • win8.1快捷键
  • linux中使用什么命令可以把两个文件合并
  • win8.1中文版
  • linux系统问题汇总
  • win7怎么在桌面添加时钟
  • win8应用商店无法使用
  • opengl shader实例
  • opencv人脸识别模型训练
  • nodejs中使用HTTP分块响应和定时器示例代码
  • bat批处理if命令
  • vue2.x
  • js原生dialog
  • linux py
  • 提出好的建议
  • javascript入门教程
  • jQuery实现HTML表格单元格的合并功能
  • JavaScript fontcolor方法入门实例(按照指定的颜色来显示字符串)
  • jquery mobile怎么样
  • 税务局人工客服时间
  • 税务退休工资
  • 税务局随机抽查事项清单
  • 卡车生产企业
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号