|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
把例子全部敲进去试验,完成一遍以后就会有心得了,因为你会发现为啥我的程序和书上的一模一样就是结果不正确。新手学习的时候必须承认,不容易,因为我也是过来人,你会发现原来有那么多常用的语句,函数都要记。详解 2.Include号令
Include号令可以把其它文档中的文字或图片拔出到以后被解析的文档中,是全部SSI的关头地点。经由过程Include号令只需求修改一个文件就能够刹时更新全部站点!
Include号令具有两个分歧的参数,假如利用毛病的参数更新站点的话,不但达不到初志,反而会失掉一大堆的毛病信息。
Virtual:给出到办事器端某个文档的虚拟途径。例如:
<!--#include virtual="/includes/header.html" -->
为了加倍公道的组织站点的内容,用户可以在根目次下创立includes子目次来寄存一切的包括文件。Virtual参数可以告诉办事器所要包括的是一个虚拟文件,即文件和以后被解析的文档不是位于统一个目次,而是寄存在其它目次中。办事器会依据该参数的值找到根目次下的includes子目次。利用这类办法,用户可以把一切HTML文档包括的文件放在一个目次中,而依据互相之间的关系把分歧的页面保留在分歧的目次或子目次中。不管办事器解析哪个文档都可以找到所包括的文件,不会发生任何毛病。
不外这里有一个小成绩需求处理。普通咱们城市在页面中到场一些TITLE和META标签,假如咱们划定一切的页面都挪用不异的页眉文件的话,就显得很不天真。用户碰着如许的成绩时,可使用两个包括文件,一个设置TITLE标签前的内容,另外一个设置META标签后的局部,而在两个包括文件之间则可以添加任何定制内容。例如:
<!--#include virtual="/includes/header1.html" -->
<TITLE>Your Page Title</TITLE>
<LINK rel = STYLESHEET href = "http://domain.com/styles/my.CSS" Type = "text/css" >
<META NAME = "Description" CONTENT = " Description of page">
<META NAME = "Keywords" CONTENT = "keywords for page" >
<!--#include virtual="/includes/header2.html" -->
这里放置页面内容
<!--#include virtual="/includes/footer.html" -->
从上咱们可以看出经由过程在页面中包括页眉和页脚可以大大削减站点更新的任务量。然而假如咱们但愿静态显示一些内容,例如页面的最初更新工夫等该怎样办呢?没成绩,咱们可以把包括文件利用.html后缀保留,如许就能够在包括文件中挪用其它的包括文件。
File:给出到以后目次的绝对途径,个中不克不及利用“../”,也不克不及利用相对途径。例如:
<!--#include file="header.html" -->
这就请求每个目次中都包括一个header.html文件。固然,采取如许的办法其实不比更新每个页面复杂几何,然而假如用户只更新1、两个文件的话仍是很便利的。例如,假如咱们不但愿让一个对HTML不熟习的人直接修改网站中的旧事页面的话,可以只让他更新一个独自的文本文件,然后再把该文件包括到HMTL文档中,如许即不会损坏原页面,同时又更新了内容,一举两得。
3.Echo:
Echo号令可以显示以下各情况变量:
DOCUMENT_NAME:显示以后文档的称号。
<!--#echo var="DOCUMENT_NAME" -->
显示了局为:
index.html
DOCUMENT_URI:显示以后文档的虚拟途径。例如:
<!--#echo var="DOCUMENT_URI" -->
显示了局为:
/YourDirectory/YourFilename.html
跟着网站的不休开展,那些愈来愈长的URL地址一定会让人头疼。假如利用SSI,一切就会水到渠成。由于咱们可以把网站的域名和SSI号令联合在一同显示完全的URL,即:
http://YourDomain<!--#echo var="DOCUMENT_URI" -->
QUERY_STRING_UNESCAPED:显示未经本义处置的由客户端发送的查询字串,个中一切的特别字符后面都有本义符“\”。例如:
<!--#echo var="QUERY_STRING_UNESCAPED" -->
DATE_LOCAL:显示办事器设准时区的日期和工夫。用户可以联合config号令的timefmt参数,定制输入信息。例如:
<!--#config timefmt="%A, the %d of %B, in the year %Y" -->
<!--#echo var="DATE_LOCAL" -->
显示了局为:
Saturday, the 15 of April, in the year 2000
DATE_GMT:功效与DATE_LOCAL一样,只不外前往的是以格林尼治本准工夫为基准的日期。例如:
<!--#echo var="DATE_GMT" -->
LAST_MODIFIED:显示以后文档的最初更新工夫。一样,这是SSI中十分适用的一个功效,只需在HTML文档中到场以下这行复杂的文字,就能够在页面上静态的显示更新工夫。
<!--#echo var="LAST_MODIFIED" -->
CGI情况变量
除SSI情况变量以外,echo号令还可以显示以下CGI情况变量:
SERVER_SOFTWARE:显示办事器软件的称号和版本。例如:
<!--#echo var="SERVER_SOFTWARE" -->
SERVER_NAME: 显示办事器的主机称号,DNS别号或IP地址。例如:
<!--#echo var="SERVER_NAME" -->
SERVER_PROTOCOL:显示客户端恳求所利用的协定称号和版本,如HTTP/1.0。例如:
<!--#echo var="SERVER_PROTOCOL" -->
SERVER_PORT:显示办事器的呼应端口。例如:
<!--#echo var="SERVER_PORT" -->
REQUEST_METHOD:显示客户真个文档恳求办法,包含GET, HEAD, 和POST。例如:
<!--#echo var="REQUEST_METHOD" -->
REMOTE_HOST:显示收回恳求信息的客户端主机称号。
<!--#echo var="REMOTE_HOST" -->
REMOTE_ADDR:显示收回恳求信息的客户端IP地址。
<!--#echo var="REMOTE_ADDR" -->
AUTH_TYPE:显示用户身份的验证办法。
<!--#echo var="AUTH_TYPE" -->
REMOTE_USER:显示会见受回护页面的用户所利用的帐号称号。
<!--#echo var="REMOTE_USER" -->
4.Fsize:显示指定文件的巨细,可以联合config号令的sizefmt参数定制输入格局。
<!--#fsize file="index_working.html" -->
5.Flastmod:显示指定文件的最初修正日期,可以联合config 号令的timefmt参数掌握输入格局。
<!--#config timefmt="%A, the %d of %B, in the year %Y" -->
<!--#flastmod file="file.html" -->
这里,咱们可以使用flastmod参数显示出一个页面上一切链接页面的更新日期。办法以下:
<!--#config timefmt=" %B %d, %Y" -->
<A HREF="/directory/file.html">File</A>
<!--#flastmod virtual="/directory/file.html" -->
<A HREF="/another_directory/another_file.html">Another File</A>
<!--#flastmod virtual="/another_directory/another_file.html" -->
显示了局为:
File April 19, 2000
Another File January 08, 2000
或许有的读者会以为两个链接就这么庞杂,一点也不便利。其实,假如页面上有20个或更多的链接,并且每一个链接都按期更新的话,就能够看出利用flastmod显示修正日期的感化。
6.Exec
Exec号令可以履行CGI剧本或shell号令。利用办法以下:
Cmd:利用/bin/sh履行指定的字串。假如SSI利用了IncludesNOEXEC选项,则该号令将被屏障。
Cgi:可以用来履行CGI剧本。例如,上面这个例子中利用办事端cgi-bin目次下的counter.pl剧本法式在每一个页面放置一个计数器:
<!--#exec cgi="/cgi-bin/counter.pl" -->
熟悉了PHP和MYSQL开发的要领之后,再回头看你写的那个留言本,你也许会怀疑那真的是你写的吗?当然,如果屋里还有鬼的话,也许是它写的-_- |
|