位置: 编程技术 - 正文

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种方式)

  • 报关单境外收货人错了怎么办
  • 个税是每个月都扣吗
  • 税屋网官网房屋
  • 发票备注栏必须备注的有哪些
  • 季度企业所得税可以不预缴吗
  • 长期投资换入固定资产如何处理
  • 安置残疾人就业税收优惠政策
  • 企业增加注册资金怎么办理
  • 会员卡 退
  • 注册资金未到账需要缴纳印花税吗
  • 房租收入应该计入什么
  • 利息收入属于现金流入吗
  • 科目余额表期初借贷一定要相等吗
  • 加油站的成品油经营许可证过期3个月还能换证吗?
  • 客运企业安全费用提取标准
  • php怎么把数组变成字符串
  • 修改apache的http服务端口为8080
  • 盒装cpu和散装
  • PHP:mcrypt_ecb()的用法_Mcrypt函数
  • 小规模年底税金怎么做账
  • 如何确定销售数量
  • 布鲁克顿的一只狗叫什么
  • php浮点数四舍五入
  • php正则表达式验证用户名
  • 未确认融资费用怎么算
  • php 断点续传
  • 基于javaweb的图书馆管理系统
  • js实现继承属性功能
  • php中字符串的连接运算符是( )
  • ci框架视频教程
  • php 伪造HTTP_REFERER页面URL来源的三种方法
  • python有没有指针
  • python中time模块的用法
  • 小米开发回稳定
  • 高新企业研发项目是否需要立项审批?
  • 企业都有哪些资质
  • 法人和自然人有什么区别通俗一点
  • 公司账号能给个人打款吗
  • ps调色的作用
  • db2 decoupled
  • mongodb的基本操作
  • 往来款和货款
  • 建筑劳务公司一年赚多少钱
  • 收到进账发票分录
  • 一般纳税人发生应税销售行为向购买方收取
  • 购进固定资产的账务处理
  • 公司股东分红要交税吗?
  • 建筑公司包工包料提供建筑服务
  • 安防工程的注意事项
  • 营业外收入应如何核算
  • 固定总价合同与epc总承包合同区别
  • 企业印花税率
  • 小规模纳税人季度不超30万怎么做账
  • 银行卡转账怎么撤回转账的钱
  • 明细账的设置与登记
  • sql语句的调优
  • linux的收获
  • winxp系统如何调整屏幕亮度
  • win8自带截图
  • win10日历提醒不显示
  • linux怎么操作命令
  • script在html中的用法
  • perl 计算
  • cocos2dx运行原理
  • shell脚本显示进度条
  • macos如何使用
  • android drawable 圆角锯齿
  • 用python怎么写字
  • [置顶]游戏名:chivalry2
  • 猫的喵喵
  • 果断收藏9个Javascript代码高亮脚本
  • javascript中字符串
  • Android之fill_parent和wrap_content
  • 以非gradle方式将 Eclipse 项目导入Android Studio
  • 云南新农合网上怎么交
  • 国税局征收的税种有哪些?
  • 如何打印纳税申报表
  • 纳税人接受教育
  • 税务稽查时长
  • 个人所得税减免申报操作流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设