|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
在学习中,我也一直这样要求着自己。生成html 媒介:
今朝收集上很多多少网站的旧事宣布体系都采取了静态办事器手艺生成静态HTML的做法,如许做的优点是:一是能加重其办事器的承当,二是由于生成了HTML静态页面,所以其网站被搜刮引擎搜刮到的机率更大一些。笔者的网站已经利用PHP这一静态手艺来构建旧事宣布体系,其道理也就是使用了PHP生成HTML静态页面的手艺,相干平台是 Windows XP Sp2+php4.32+mysql,因而,在这里,想复杂地谈一下这类做法的思绪。这篇文章合适于对PHP+MYSQL数据库操作,SQL语句和网页设计有点基本的伴侣,假如您是一个从头入手下手学的伴侣,那末请先打好基本吧!到这里就不必往下看了。假如您都合适上述前提的话,那末祝贺您,请接着往下看。然而,在详细下手构建之前,您还要做好以下几点筹办任务。
1、 具有当地调试PHP的功效
在WINDOWS XP操作体系下,笔者建议你可以到网高低载一个PHP+MYSQL+APHCHE的办事器套装,如华军软件园,去那边搜刮一下就能够下载到。下载完后默许装置便可,如许您就具有了在当地测试PHP的功效了,省去了良多手动设置装备摆设的费事,怎样,复杂吧,OK,这仅仅只是第一步。
2、 构想旧事宣布体系所具有的功效
首页的旧事宣布常常是经由过程后台更新的,后台的更新不过是由添加、编纂、删除数据等根基的功效所完成的。在这里,你可使用网页设计软件来构建你的想要的后台界面,其功效的完成固然是要用到PHP喽。这一步建议您先想好旧事宣布体系要有的功效。在这里,若何用PHP添加、编纂、删除数据就不再反复,由于重点是若何在这基本上生成静态手艺。
<?php
require_once(“conn.php”); //援用conn.php,毗连数据库
$title=$_POST[“title”];
$content=$_POST[“content”]; //取得表单变量
//以下创立一文本文档,其值主动计数
$countfile="count.txt";
if(!file_exists($countfile))
{
fopen($countfile,"w"); //假如此文件不存在,则主动创立一个
}
$fp=fopen($countfile,"r");
$num=fgets($fp,20);
$num=$num+1; //每次其值主动加一
fclose($fp);
$fp=fopen($countfile,"w");
fwrite($fp,$num); //更新其值
fclose($fp);
[Ctrl+A 全体选择 然后拷贝]
//使用下面主动计数的值取得HTML的途径$path
$houzui=”.html”;
$path=$num.$houzui;
//如许构成的途径是主动增加的,如1.html,2.html,3.html……….添加一条旧事便主动加上1
//以下用SQL语句添加数据至表 news
$sql=”insert into news (title,content,path) values (‘”.$title.”’,’”.$content.”’,’”.$path.”’)”;
$query=mysql_query($sql);
//以下为关头的地方,把从表单取得的数据交换模板中的{title},{content}标志 $fp=fopen(“model.htm”,”r”) //只读翻开模板
$str=fread($fp,filesize(“mode.htm”));//读取模板中内容
$str=str_replace(“{title}”,$title,$str);
$str=str_replace(“{content}”,$content,$str);//交换内容
fclose($fp);
$handle=fopen($path,”w”); //写入体例翻开旧事途径
fwrite($handle,$str); //把方才交换的内容写进生成的HTML文件
fclose($handle);
代码拷贝框
$fp=fopen(“model.htm”,”r”) //只读翻开模板
$str=fread($fp,filesize(“mode.htm”));//读取模板中内容
$str=str_replace(“{title}”,$title,$str);
$str=str_replace(“{content}”,$content,$str);//交换内容
fclose($fp);
$handle=fopen($path,”w”); //写入体例翻开旧事途径
fwrite($handle,$str); //把方才交换的内容写进生成的HTML文件
fclose($handle);
[Ctrl+A 全体选择 然后拷贝]
//扫尾任务:
echo “<a href=$path target=_blank>检查方才添加的旧事</a>”;
代码拷贝框
echo “<a href=$path target=_blank>检查方才添加的旧事</a>”;
[Ctrl+A 全体选择 然后拷贝]
OK,全部生成HTML的示例源码就到这里,其关头是用了交换的办法。
$str=str_replace(“{被交换的内容}”,$交换的内容,$str);
因而,总结一下以上的做法:先设计好旧事模板,把需求被交换的内容用{ }放到模板中响应的地位,然后设计表单,再是最初的表单处置法式,把从表单中获得的变量交换模板中响应的内容便可,如许每次城市生成分歧的HTML;假如需求修正HTML的内容也是一样的,取得修正后的表单内容后,先用 update 语句更新数据库,再从头交换一下模板中的内容便可;删除的话,先delete表中要删除的内容,再用unlink($path) 来删除HTML的物理文件便可。
大家如果能懂得“熟能生巧”的道理也就明白了这并不是浪费时间,同时这也可以减轻板主的负担,让他们有时间去处理更难的问题。 |
|