|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
另外要叮嘱各位的是,抵御诱惑,ASP/PHP/JSP/.NET的对比也许会让你无所适从,你也许学了一半PHP,又开始打C#的主意,或者有人说JAVA很强,这个时候的你绝对不能动摇,哪怕你真想学。前收集上很多多少网站的旧事宣布体系都采取了静态办事器手艺生成静态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添加、编纂、删除数据就不再反复,由于重点是若何在这基本上生成静态手艺。
3、 PHP生成HTML的手艺道理。
哈哈。费话说了那末多,终究到了该讲的中央了。其实,这一道理其实不庞杂,综合地来说的话,应当是PHP中一个交换数据语法的使用。OK,讲一个复杂典范吧,一步一步地剖析!信任伶俐的你能看得分明的咯,细心看好每步便可,在这里,只是引诱人人若何做罢了,详细的可以理论一下!
(1)在MYSQL里新建一数据库,定名为 database (可自界说),新建一表,定名为 news(由于是旧事宣布嘛,取个好记的名字便可,可自界说),然后创立这几个字段名:
id (主动递增,这是关头,类型:INT)
title (望文生义,旧事题目,类型可取 TEXT)
content (旧事内容,类型可取 TEXT)
path (HTML文件途径,类型可取 TEXT)
(2)创立 conn.php
这是毗连数据库的PHP文件,你可以把毗连数据的语句独自放在这一文件里,今后多个需求毗连数据库的文件直接援用这个文件便可。
(3)设计添加旧事的表格 add.form 复杂的源代码以下:
以下是代码片断,把《》换成<>:
《form method=”post” action=”add.php”> //提交至 add.php
旧事题目:<input type=”text” name=”title” size=”20”><br>
旧事内容:<textarea name=”content” cols=”10” rows=”25”></textarea><br>
《input type=”submit” name=”提交”》
《/form》
(4)创立一个 HTML 的模板,另存为model.htm,和 add.php可以在统一目次下。
示例源代码:
以下是代码片断,把《》换成<>:
《html>
《body>
此旧事的题目:{title}
此旧事的内容:{content}
《/body>
《/html> { }大括号内的内容便是要被交换的内容,全部静态模板的设计可以依据本人的思绪,但{ }内被交换的内容必需包括在内,如下面的{title},{content};咔咔~复杂地说,设计好一个很悦目的旧事模板后,把要被交换的如{title},{content}等标志放到需求的中央就能够了撒。
(5)详解 add.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);
//使用下面主动计数的值取得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);
//扫尾任务:
以下是代码片断,把《》换成<>:
echo “<a href=path target=_blank>检查方才添加的旧事</a>”;
OK,全部生成HTML的示例源码就到这里,其关头是用了交换的办法。
str=str_replace(“{被交换的内容}”,交换的内容,str);
因而,总结一下以上的做法:先设计好旧事模板,把需求被交换的内容用{ }放到模板中响应的地位,然后设计表单,再是最初的表单处置法式,把从表单中获得的变量交换模板中响应的内容便可,如许每次城市生成分歧的HTML;假如需求修正HTML的内容也是一样的,取得修正后的表单内容后,先用 update 语句更新数据库,再从头交换一下模板中的内容便可;删除的话,先delete表中要删除的内容,再用unlink(path) 来删除HTML的物理文件便可。
不断巩固,摸透大部分PHP常用函数,并可理解OOP,MYSQL优化,以及模板 |
|