博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php动态生成html,通用PHP动态生成静态HTML网页的代码
阅读量:6972 次
发布时间:2019-06-27

本文共 1258 字,大约阅读时间需要 4 分钟。

我们知道,PHP读取MYSQL动态显示,在访问量大的情况下,会有很多性能问题,如果租用别人的虚拟主机,则会因为CPU消耗过多而被限制CPU,导致网页无法访问。我这里给出一个PHP动态生成HTML的方法,可以极大降低服务器CPU负荷。

【推荐教程:php入门教程】

首先设置。htaccess文件,将动态调用的参数转换为静态的HTML的URL地址,例如将在post目录下的文件,转发到根目录的wp-post.php文件中,加入的语句类似:RewriteRule ^post/([a-z0-9\-]+\.html)$ wp-post.php?$1$2

然后修改wp-post.php文件,在文件的开头加入以下PHP代码:ob_start();

$qstring = isset($_SERVER[%26quot;QUERY_STRING%26quot;]) ? $_SERVER[%26quot;QUERY_STRING%26quot;] : %26quot;%26quot;;

define(%26quot;HTML_FILE%26quot;, $_SERVER['DOCUMENT_ROOT'].%26quot;/post/%26quot;.$qstring);

if (file_exists(HTML_FILE))

{

$lcft = filemtime(HTML_FILE);

if (($lcft + 3600) %26gt; time()) //判断上次生成HTML文件是否超过1小时,若没有才直接输出文件内容

{

echo(file_get_contents(HTML_FILE));

exit(0);

}

}

之后是现有的PHP的代码,然后在当前代码的最后面加上如下的PHP代码:define(%26quot;HTMLMETA%26quot;,%26quot;%26lt;!-- this is a real static html file created at %26quot;.date(%26quot;Y-m-d H:i:s%26quot;)。%26quot; --%26gt;%26quot;);

$buffer = ob_get_flush();

$fp = fopen(HTML_FILE, %26quot;w%26quot;);

if ($fp)

{

fwrite($fp, $buffer.HTMLMETA);

fclose($fp);

}

好了,然后查看你的静态HTML页面,如果页面尾部出现了注释行,说明已经成功的创建了静态HTML文件。

这个方法的一个应用就是我先前写的那个%26ldquo;WordPress年度博客统计插件%26rdquo;,这个统计插件由于查询十多次数据库,很多人访问的时候会有很大性能问题,使用我介绍的这种动态生成HTML技术后,一天就查询一次,生成一次统计排行,完美解决了查询数据库的性能问题。

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

你可能感兴趣的文章
My future of programming
查看>>
Git学习之路
查看>>
基于Fetch的HTTP透明代理
查看>>
分治策略时间复杂度计算--综述
查看>>
CSS换行和不换行
查看>>
青阳网络文件传输系统 kiftd 1.0.17 正式发布
查看>>
Java实现一个简单的加密解密方法
查看>>
PHP MySQL 连接数据库
查看>>
服务端有异常, 导致: Ajax 请求报错 net::ERR_INCOMPLETE_CHUNKED_ENCODING
查看>>
数据分析师的自我修养,如何进阶为数据科学家
查看>>
网站漏洞修复之CSRF跨站攻击
查看>>
Android实现天气预报温度/气温折线趋势图
查看>>
js 上下文字滚动效果
查看>>
记忆C语言运算符(文末福利)
查看>>
物联网迎发展机遇,两个方向爆发在即
查看>>
2015年高交会又有什么值得期待的黑科技?
查看>>
VS2010 asp.net development server 无法展示svg图片
查看>>
不容忽视的医疗数据泄露问题,或许能用区块链来解决
查看>>
有了雀巢智能咖啡机,单身狗离“秀恩爱”还会远吗?
查看>>
「镁客·请讲」1058VR钱朱平:VR泛娱乐的时代未到,不妨从更细分的行业切入
查看>>