手机版

PHP实现HTML页面静态的方法

时间:2021-09-27 来源:互联网 编辑:宝哥软件园 浏览:

随着网站内容和用户访问量的增加,网站加载速度会越来越慢,这是不可避免的,同时受到带宽和服务器请求数量的限制。我们经常需要在这个时候优化我们网站的代码和服务器配置。一般情况下会从以下几个方面进行优化。

动态静态优化数据库使用负载平衡使用缓存使用CDN加速如今,许多网站在构建时需要进行静态处理。为什么网站要静态处理?众所周知,纯静态网站是所有网页的独立html页面。当我们访问它时,我们可以直接读取文件,而无需数据处理,因此我们可以想象访问速度,这对于搜索引擎来说也是一种非常友好的方式。纯静态网站是如何在网站中实现的?纯静态制作技术就是把网站的页面进行汇总,分成几种样式,然后把这些页面做成模板。生成时,需要先读取源文件,然后生成以结尾的独立页面文件。html。所以纯静态的网站需要更多的空间,但实际上需要的空间并没有大多少,尤其是对于中小企业网站。从技术上讲,大型网站很难在全站实现纯静态,生成时间太长。但是中小网站还是做一个纯静态的比较,有很多优势。

动态网站是如何静态处理的?页面静态是指将动态页面更改为html/html静态页面。动态页面一般由asp、php、jsp、net等编程语言,非常方便管理。然而,当访问网页时,程序需要先处理它,这导致访问速度相对较慢。然而,静态页面访问速度快,但管理起来不方便。静态动态页面可以将这两种页面的优点结合在一起。

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

静态页面比动态页面更容易被搜索引擎收录。对静态页面的访问不需要程序处理,可以提高运行速度。减轻服务器负担。HTML页面不受Asp相关漏洞的影响。与没有静态处理的网站相比,静态处理后的网站更安全,因为静态网站不是黑客攻击的第一目标,因为黑客很难在不知道你的后台系统的情况下从前台的静态页面进行攻击。同时也具有一定的稳定性。比如数据库或网站的程序有问题,不会干扰静态处理的页面,页面也不会因为程序或数据的影响而打开。

搜索引擎蜘蛛程序更喜欢这样的网站,这也可以减少蜘蛛程序的工作量。虽然有人认为搜索引擎完全有能力捕捉和识别动态网站,但建议我们尽量制作静态网站。

主要说说静态页面的概念,希望对大家有所帮助!什么是HTML静态:

人们常说静态页面有两种,一种是伪静态,即url重写,另一种是真静态。在PHP网站的开发中,为了网站推广和SEO的需要,需要对网站进行整体或部分的静态处理。PHP生成静态HTML页面的方式有很多,比如使用PHP模板和缓存实现静态页面。PHP统计化的简单理解就是网站生成的页面以静态HTML的形式呈现给访问者。PHP统计化可以分为纯统计化和伪静态。两者的区别在于PHP生成静态页面的处理机制不同。PHP伪静态:一种用Apache mod _ rewrite重写URL的方法。

HTML静态:的好处。

首先,减轻服务器负担,无需调用系统数据库即可浏览网页。二是有利于搜索引擎优化SEO。百度、谷歌会优先考虑静态页面,静态页面不仅包含,还包含;三是加快页面打开速度,不连接数据库的静态页面打开速度明显高于动态页面;四是网站更安全,HTML页面不会受到php程序相关漏洞的影响;看看比较大的网站,基本都是静态页面,可以减少攻击,防止sql注入。当数据库出现问题时,不会影响网站的正常访问。五、数据库错误,不影响网站正常访问。主要是提高访问速度,减轻服务器负担。当数据量在几万、几十万甚至更多的时候,你就知道哪个更快了,很容易被搜索引擎发现。虽然生成html文章操作麻烦,程序复杂,但为了更有利于搜索、更快、更安全,这些牺牲是值得的。

实现HTML静态解释的策略和示例: Basic Mode file _ put _ contents()函数使用php内置的缓存机制实现页面静态——输出—缓冲。

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

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

方法2:使用PHP文件读写函数生成静态页面。

?$out1='htmlheadtitlePHP网站静态教程/title/headbody欢迎来到PHP网站开发教程网www.leapsoul.cn,本文主要介绍静态PHP网站页面/正文/html的方法';$ FP=fopen(' leapsulcn . html ',' w ');if(!$fp) {回显“系统错误”;exit();} else { fwrite($fp,$ out 1);fc lose(FP美元);呼应“成功”;} ?方法三:使用PHP Output Control)/ob缓存机制生成静态页面Output Control,即使用和控制缓存生成静态HTML页面,也可以使用PHP文件读写功能。比如某商品的动态详情页地址是: http://xxx.com?goods.php?Gid=112所以这里我们根据这个地址把这个详细页面的内容读一遍,然后保存为静态页面。下次有人访问这个产品详情页的动态地址,我们可以直接输出生成的对应静态内容文件。PHP生成静态页面实例代码1。

?ob _ start();回显“html”。头部。titlePHP网站静态教程/标题’。/head。body欢迎访问我们,本文主要介绍静态PHP网站页面/body '的方法。/html ';$ out 1=ob _ get _ contents();ob _ end _ clean();$ FP=fopen(' leapsulcn . html ',' w ');if(!$fp) {回显“系统错误”;exit();} else { fwrite($fp,$ out 1);fc lose(FP美元);呼应“成功”;} ?PHP生成静态页面实例代码2。

?PHP $ GID=$ _ GET[' GID ']0;//商品id $ goods _ statistics _ file=' goods _ file _ '。$ GID。html ';//对应的静态页面文件$ expr=3600 * 24 * 10//如果(file _ exists($ goods _ statistics _ file)){ $ file _ ctime=file ctime($ goods _ statistics _ file),静态文件的有效期为十天;//文件创建时间If($ File _ ctime $ expr-time()){//如果没有过期,echo File _ get _ contents($ goods _ statistics _ File);//输出静态文件内容退出;}else{//if unlink已过期($ goods _ statistics _ file);//删除过期的静态页面文件ob _ start();//从数据库中读取数据并分配给相关变量//include(' XXX . html ');//加载对应的产品详情页模板$ content=ob _ get _ contents();//将详细页面内容分配给$content变量file _ put _ contents($ goods _ statistics _ file,$ content);//将内容写入对应的静态文件ob _ end _ flush();//输出产品详细信息页面信息} } else { ob _ start();//从数据库中读取数据并分配给相关变量//include(' XXX . html ');//加载对应的产品详情页模板$ content=ob _ get _ contents();//将详细页面内容分配给$content变量file _ put _ contents($ goods _ statistics _ file,$ content);//将内容写入对应的静态文件ob _ end _ flush();//输出产品详细信息页面信息}?我们知道,在使用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函数主要清空缓存中的内容并关闭缓存。如果成功,则返回真,如果失败,则返回假。方法四:使用nosql从内存中读取内容(其实这不是静态的,而是缓存);以memcache为例:

?PHP $ GID=$ _ GET[' GID ']0;//商品id $ goods _ statistics _ content=' goods _ content _ '。$ GID//对应键$ expr=3600 * 24 * 10//有效期,十天$mem=新Memcache$mem - connect('memcache_host ',11211);$ mem _ goods _ content=$ mem-get($ goods _ statis _ content);if($ mem _ goods _ content){ echo $ mem _ goods _ content;} else { ob _ start();//从数据库中读取数据并分配给相关变量//include(' XXX . html ');//加载对应的产品详情页模板$ content=ob _ get _ contents();//将详细信息页面内容分配给$content变量$ mem-add($ goods _ statistics _ content,$ content,false,$ expr);ob _ end _ flush();//输出产品详细信息页面信息}?Memcached是键与值的一一对应,键的默认最大值不能超过128字节,值的默认大小为1M,因此1M的大小可以满足大部分网页的存储。

以上就是PHP实现静态HTML页面的方法,内容丰富,值得大家细细品味并从中获益。

版权声明:PHP实现HTML页面静态的方法是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。