PHP编程:PHP静态生成静态HTML网页教程
也或许是因为我还没有真正的学到深处吧,说实在的,PHP中的很多高级点的应用,如PHP类、PHP函数基本还是不懂吧!静态|教程|网页|静态 比来研讨PHP的一些开辟手艺,发明PHP有良多ASP所没有的优异功效,可以完成一些之前没法完成的功效,例如静态生成HTML静态页面,以削减办事器CPU的负载,进步用户会见的速度。咱们晓得,PHP读取MYSQL静态显示,在会见量大的情形下,会有良多功能成绩,假如租用他人的虚拟主机,则会由于CPU损耗过量而被限制CPU,招致网页没法会见。我这里给出一个PHP静态生成HTML的办法,可以极大下降办事器CPU负荷。
起首设置.htaccess文件,将静态挪用的参数转换为静态的HTML的URL地址,例如将在post目次下的文件,转发到根目次的wp-post.php文件中,到场的语句相似:RewriteRule ^post/(+\.html)$wp-post.php?$1$2
然后修正wp-post.php文件,在文件的开首到场以下PHP代码:
以下是援用片断:
ob_start();
$qstring = isset($_SERVER["QUERY_STRING"]) ? $_SERVER["QUERY_STRING"] : "";
define("HTML_FILE",$_SERVER[’DOCUMENT_ROOT’]."/post/".$qstring);
if (file_exists(HTML_FILE))
{
$lcft = filemtime(HTML_FILE);
if (($lcft + 3600) > time())//判别前次生成HTML文件是不是超越1小时,若没有才直接输入文件内容
{
echo(file_get_contents(HTML_FILE));
exit(0);
}
}
以后是现有的PHP的代码,然后在以后代码的最初面加上以下的PHP代码:
以下是援用片断:
define("HTMLMETA","<!-- this is a real static html file created at ".date("Y-m-d H:i:s")." -->");
$buffer = ob_get_flush();
$fp = fopen(HTML_FILE, "w");
if ($fp)
{
fwrite($fp, $buffer.HTMLMETA);
fclose($fp);
}
好了,然后检查你的静态HTML页面,假如页面尾部呈现了正文行,申明已胜利的创立了静态HTML文件。
这个办法的一个使用就是我先前写的谁人“WordPress年度博客统计插件”,这个统计插件因为查询十屡次数据库,良多人会见的时分会有很大功能成绩,利用我引见的这类静态生成HTML手艺后,一天就查询一次,生成一次统计排行,完善处理了查询数据库的功能成绩。
我先解释一下我的学习思路。 有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。 使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。 实践是检验自己会不会的真理。 不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。 作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。 实践是检验自己会不会的真理。 我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。 个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。 本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。 你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。 实践是检验自己会不会的真理。 说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年具体的记不清啦,囧。 曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线\\\\\\\'_\\\\\\\' ; Ps:以上纯属原创,如有雷同,纯属巧合 首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。 Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81 多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。 个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。 先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。
页:
[1]
2