用PHP往实现静态化
用PHP去实现静态化
我们在PHP网站开发过程中为了网站的推广或者SEO的需要,需要对网站进行一定的静态化,这里设计到什么是静态页面,所谓的静态页面,并不是页面中没有动画等元素,而是指网页的代码都在页面中,即不需要再去执行PHP脚本等服务器端的语言去运行,我们可以直接访问到的网页,这就是静态网页。
那么静态网页有什么好处呢?第一个主要原因就是因为搜索引擎,由于搜索引擎对PHP页面搜鹿和html页面的收录有一定的差别,并且面临着页面资源的占用问题,我们需要对.php文件进行静态化。有一种方式是改写访问地址,可以通过URL的PATHINFO模式来修改它,让它看上去更像一个静态页面,从而有更大的几率被搜索引擎抓取和收录。
第二点原因就是它可以方便页面的加载,有时候我们去一些比如新浪、网易这些网站的首页,发现内容非常多,但是它的加载时间还真的不长,这里面也有静态化的功劳。网站可以在用户访问网站之前就通过一定的程序来进行静态化,生成静态页面,当用户去访问该页面的时候,由于访问的是静态页面,因此,访问速度会比访问动态页面的速度快了很多倍。这种技术对于大网站来说很有必要,对于小网站也可以采用。它在前台的表现是页面加载速度变快,在后台的表现是减少了数据库的连接,减少了数据库的压力,唯一的缺点就是相对占的硬盘多一些,不过,硬盘相对廉价的多。
既然了解了静态化的一些优点,那么如何做到静态化呢?我们用PHP所能做到的静态化分为纯静态化和伪静态化,二者的却别在于圣经静态页面的机制不同,伪静态化就是通过解析URL和使用重写模式来运行动态页面,它只是对搜索引擎比较友好,并不是真正意义上的静态化,下面我们介绍一下纯静态化。
所谓纯静态化,就是生成HTML文件的方式,我们需要开启PHP自带的缓存机制,即ob_start来开启缓存,并且在ob_start之前不能有任何输出,否则执行失败,然后我们用ob_get_contents函数来获取缓存中的内容,该函数会返回一个字符串,第三个函数就是ob_end_clean,它用来清空缓存中的内容并且关闭,成功返回True,失败返回False。
下面请看实例:
这里我们从数据库中取出数据并且把这些数据生成之后缓存到页面中,下面是该php文件:
<?php //开启缓存ob_start();//第一步连接数据库$conn = mysqli_connect("localhost","root","","bbs");//第二步设置相应的字符编码$setting = 'set names utf8';mysqli_query($conn,$setting);//第三步进行查询$sql = 'SELECT * FROM user';$result = mysqli_query($conn,$sql);//第四步把查询结果转化为一个数组$rows = mysqli_num_rows($result);$sqldata = array();for($i = 0;$i <$rows;$i ++){ $sqldata[] = mysqli_fetch_assoc($result);}//然后打印该信息var_dump($sqldata);//得到生成的html文件,下次访问就无需访问数据库了$msg = ob_get_contents();ob_end_clean();//把输出内容放入一个html文件中$f = fopen("static.html","w");fwrite($f,$msg);echo "静态化成功";
我们运行上述页面之后,发现该文件夹下自动多了一个html文件,下面是它的代码:
<pre class='brush:php;toolbar:false;'><b>array</b> <i>(size=6)</i> 0 <font color='#888a85'>=></font> <b>array</b> <i>(size=4)</i> 'id' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'1'</font> <i>(length=1)</i> 'level' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'0'</font> <i>(length=1)</i> 'name' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'辛星'</font> <i>(length=6)</i> 'pwd' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'bd04fcc97578ce33ca5fb331f42bc375'</font> <i>(length=32)</i> 1 <font color='#888a85'>=></font> <b>array</b> <i>(size=4)</i> 'id' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'2'</font> <i>(length=1)</i> 'level' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'1'</font> <i>(length=1)</i> 'name' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'小倩'</font> <i>(length=6)</i> 'pwd' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'61cb72858be523b9926ecc3d7da5d0c6'</font> <i>(length=32)</i> 2 <font color='#888a85'>=></font> <b>array</b> <i>(size=4)</i> 'id' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'3'</font> <i>(length=1)</i> 'level' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'1'</font> <i>(length=1)</i> 'name' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'小楠'</font> <i>(length=6)</i> 'pwd' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'a3d2de7675556553a5f08e4c88d2c228'</font> <i>(length=32)</i> 3 <font color='#888a85'>=></font> <b>array</b> <i>(size=4)</i> 'id' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'4'</font> <i>(length=1)</i> 'level' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'1'</font> <i>(length=1)</i> 'name' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'刘强'</font> <i>(length=6)</i> 'pwd' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'fcdb06a72af0516502e5fdccc9181ee0'</font> <i>(length=32)</i> 4 <font color='#888a85'>=></font> <b>array</b> <i>(size=4)</i> 'id' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'5'</font> <i>(length=1)</i> 'level' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'1'</font> <i>(length=1)</i> 'name' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'星哥'</font> <i>(length=6)</i> 'pwd' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'866a6cafcf74ab3c2612a85626f1c706'</font> <i>(length=32)</i> 5 <font color='#888a85'>=></font> <b>array</b> <i>(size=4)</i> 'id' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'6'</font> <i>(length=1)</i> 'level' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'1'</font> <i>(length=1)</i> 'name' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'辛勇'</font> <i>(length=6)</i> 'pwd' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'e93beb7663f3320eaa0157730d02dd0c'</font> <i>(length=32)</i>
当然这份代码是我们写的php程序自动生成的,可以用浏览器直接访问,从而减轻了数据库的压力。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

许多用户在选择智能手表的时候都会选择的华为的品牌,其中华为GT3pro和GT4都是非常热门的选择,不少用户都很好奇华为GT3pro和GT4有什么区别,下面就就给大家介绍一下二者。华为GT3pro和GT4有什么区别一、外观GT4:46mm和41mm,材质是玻璃表镜+不锈钢机身+高分纤维后壳。GT3pro:46.6mm和42.9mm,材质是蓝宝石玻璃表镜+钛金属机身/陶瓷机身+陶瓷后壳二、健康GT4:采用最新的华为Truseen5.5+算法,结果会更加的精准。GT3pro:多了ECG心电图和血管及安

为什么截图工具在Windows11上不起作用了解问题的根本原因有助于找到正确的解决方案。以下是截图工具可能无法正常工作的主要原因:对焦助手已打开:这可以防止截图工具打开。应用程序损坏:如果截图工具在启动时崩溃,则可能已损坏。过时的图形驱动程序:不兼容的驱动程序可能会干扰截图工具。来自其他应用程序的干扰:其他正在运行的应用程序可能与截图工具冲突。证书已过期:升级过程中的错误可能会导致此issu简单的解决方案这些适合大多数用户,不需要任何特殊的技术知识。1.更新窗口和Microsoft应用商店应用程

Pygame的Font文本和字体Pygame通过pygame.font模块来创建一个字体对象,从而实现绘制文本的目的。该模块的常用方法如下所示:名称说明pygame.font.init()初始化字体模块pygame.font.quit()取消初始化字体模块pygame.font.get_init()检查字体模块是否被初始化,返回一个布尔值。pygame.font.get_default_font()获得默认字体的文件名。返回系统中字体的文件名pygame.font.get_fonts()获取所有

第1部分:初始故障排除步骤检查苹果的系统状态:在深入研究复杂的解决方案之前,让我们从基础知识开始。问题可能不在于您的设备;苹果的服务器可能会关闭。访问Apple的系统状态页面,查看AppStore是否正常工作。如果有问题,您所能做的就是等待Apple修复它。检查您的互联网连接:确保您拥有稳定的互联网连接,因为“无法连接到AppStore”问题有时可归因于连接不良。尝试在Wi-Fi和移动数据之间切换或重置网络设置(“常规”>“重置”>“重置网络设置”>设置)。更新您的iOS版本:

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

watch4pro和gt各自具有不用的特点和适用场景,如果注重功能的全面性、高性能和时尚外观,同时愿意承担较高的价格,那么Watch 4 Pro可能更适合。如果对功能要求不高,更注重电池续航和价格的合理性,那么GT系列可能更适合。最终的选择应根据个人需求、预算和喜好来决定,建议在购买前仔细考虑自己的需求,并参考各种产品的评测和比较,以做出更明智的选择。

请问如何修改url某一参数的参数值呢?是要拆开了再拼回去吗?那么请问如何修改url某一参数的参数值呢?是要拆开了再拼回去吗?http://127.0.0.1/myo/newuser.php?mod=search&type=fastone比如现在我要修改mod=new要怎么做呢?------解决方案--------------------发送了请求

如何使用iPadOS17.4优化iPad电池寿命延长电池续航时间是移动设备体验的关键,iPad是一个很好的例子。如果您觉得iPad电池消耗速度过快,不用担心,在iPadOS17.4中有许多技巧和调整可以显着延长设备的运行时间。本深入指南的目标不仅仅是提供信息,而是改变您使用iPad的方式,增强您的整体电池管理,并确保您可以在无需充电的情况下更长时间地依赖您的设备。通过采用此处概述的做法,您朝着更高效、更谨慎地使用技术迈出了一步,这些技术是根据您的个人需求和使用模式量身定制的。识别主要的能量消耗者
