逍遥一派 发表于 2015-2-4 00:25:57

PHP编程:SSI利用详解(转一)

大家如果能懂得“熟能生巧”的道理也就明白了这并不是浪费时间,同时这也可以减轻板主的负担,让他们有时间去处理更难的问题。详解     你是不是已经或正在为若何可以在最短的工夫内完成对一个包括上千个页面的网站的修正而忧??那末可以看一下本文的引见,也许可以对你有所匡助。

甚么是SSI?

  SSI是英文Server Side Includes的缩写,翻译成中文就是办事器端包括的意思。从手艺角度上说,SSI就是HTML文件中,可以经由过程正文行挪用的号令或指针。SSI 具有壮大的功效,只需利用一条复杂的SSI 号令就能够完成全部网站的内容更新,静态显示工夫和日期,和履行shell和CGI剧本法式等庞杂的功效。SSI 可以称得上是那些资金充足、工夫严重、任务量大的网站开辟人员的最好副手。

  SSI最后在NCSA办事器平台上推出,在Apache办事器中失掉扩大和增强,今朝已可以在几近一切的办事器上运转。本文将次要联合Apache办事器引见SSI的利用办法。


若何启动SSI?

  在Apache办事器下,可以经由过程直接编纂办事器设置装备摆设文件或在需求利用SSI的目次中创立.htaccess文件启动SSI。详细来讲,进程以下:


1.办事器设置装备摆设文件

  假如用户具有对办事器设置装备摆设文件的会见权限,可以经由过程编纂文件access.conf和srm.conf启动SSI。

  起首利用Telnet近程登录办事器,找到设置装备摆设文件的寄存目次。普通来讲,Apache办事器的设置装备摆设文件都被保留在“/usr/local/etc/httpd/conf”目次下。利用任何一种文字编纂器翻开文件srm.conf,找到以下几行:

# If you want to use server side includes, or CGI outside
# ScriptAliased directories, uncomment the following lines.
#AddType text/x-server-parsed-html .shtml

#AddType application/x-httpd-CGI .CGI

  用户的设置装备摆设文件中能够没有上述的正文指令行,然而只需找到以AddType开首的两行而且去失落每行最后面的“#”符号便可。

  保留所做的修正,然后再翻开文件access.conf。用户需求在文件中找到设置DocumentRoot(根文件)的局部。普通来讲该段文本以下,然而不扫除<Directory>和</Directory>标签之间还包括其它设置内容。

# This should be changed to whatever you set DocumentRoot to.
<Directory /usr/local/etc/httpd/htdocs>
# This may also be "None", "All", or any combination of "Indexes",
# "Includes", or "FollowSymLinks"
Options Indexes FollowSymLinks Includes
</Directory>

  假如用户不但愿履行剧本或shell号令,可以在options选项行中到场关头字IncludesNOEXEC,如许可以答应SSI,然而不克不及履行CGI或剧本号令。(注:最新版本的Apache办事器只要一个设置装备摆设文件httpd.conf,以上所提到的内容都已被包括在该文件中)

2.创立文件.htaccess

  假如用户不克不及直接会见办事器设置装备摆设文件,可使用文件编纂器创立一个名为.htaccess的文件。注重,文件名前必定要有符号“.”,如许办事器才干晓得该文件是埋没文件,从而进步文件的平安性,防止毛病操作。在.htaccess文件中需求到场以下三行文字:

Options Indexes FollowSymLinks Includes
AddType application/x-httpd-CGI .CGI
AddType text/x-server-parsed-html .shtml

  完成以后可以把.htaccess文件上传到办事真个响应目次,该文件对一切子目次无效。假如用户但愿在目次级上制止CGI或shell号令,可以在.htaccess文件中的Options选项行到场关头字IncludesNOEXEC。

3.利用.shtml仍是.html?

  任何包括SSI的文件鄙人传到客户端之前,都必需经由办事器的解析进程。固然从某种水平上如许会增添办事器的负载,然而除非用户的网站天天有几百万的会见用户,某则办事器的功能不会有分明的下落。不外,假如不是需求在每一个页面都利用SSI的话,的确没有需要让办事器解析每个页面。假如用户只但愿在几个特别页面中利用SSI,可以将文件的后缀名改成.shtml,如许办事器就能够只解析包括SSI的.shtml文件。另外一方面,假如有多个页面利用了SSI,然而用户不但愿利用.shtml的后缀名时,可以在.htaccess文件中利用以下号令行:

AddType text/x-server-parsed-html .html


SSI语法

SSI在利用时遵守以下格局:

<!--#directive parameter="value"-->

  个中,directive是向办事器发送的指令称号,parameter是指令的操尴尬刁难象,而value则是用户但愿失掉的指令处置了局。
  一切的SSI号令都是以“<!--#”入手下手,个中“<!―”和“#”之间不克不及有任何空格,不然办事器会把SSI号令当称通俗的文件正文处置,不会显示出任何了局,也不会发生毛病提醒。另外,SSI号令中的“=”双方不克不及有空格,右侧的值必需包括在双引号内,前面可以跟空格,最初是停止标签“-->”。

SSI号令包括六大类指令和各自的参数,详细以下:


directives
parameters

Config
errmsg, timefmt, sizefmt

include
virtual, file

echo
var

fsize
file

flastmod
file

exec
cmd, cgi



上面咱们将一一停止引见。


1.Config号令

Config号令次要用于修正SSI的默许设置。个中:

  Errmsg:设置默许毛病信息。为了可以正常的前往用户设定的毛病信息,在HTML文件中Errmsg参数必需被放置在其它SSI号令的后面,不然客户端只能显示默许的毛病信息,而不是由用户设定的自界说信息。

<!--#config errmsg="Error! Please email webmaster@mydomain.com -->

  Timefmt:界说日期和工夫的利用格局。Timefmt参数必需在echo号令之前利用。

<!--#config timefmt="%A, %B %d, %Y"-->

<!--#echo var="LAST_MODIFIED" -->

显示了局为:

Wednesday, April 12, 2000

或许用户对上例中所利用的%A %B %d感应很生疏,上面咱们就以表格的模式总结一下SSI中较为经常使用的一些日期和工夫格局。

格局
申明
实例

%%
%
 
%a
一周七天的缩写模式
Thu

%A
一周七天
Thursday

%b
月的缩写模式
Apr

%B

April

%d
一个月内的第几天
13

%D
mm/dd/yy日期格局
04/13/00

%H
小时(24小时制,从00到23)
01

%I
小时(12小时制,从00到11)
01

%j
一年内的第几天,从01到365
104

%m
一年内的第几个月,从01到12
04

%M
一小时内的第几分钟,从00到59
10

%p
AM或PM
AM

%r
12小时制确当地工夫,格局为%I:%M:%S AM | PM
01:10:18 AM

%S
一分钟内的第几秒,从00到59
18

%T
24小时制的%H:%M:%S工夫格局
01:10:18

%U
一年内的第几个礼拜,从00到52,以礼拜天作为每一个礼拜的第一天
15

%w
一礼拜内的第一天,从0到6
4

%W
一年内的第几个礼拜,从00到53,以礼拜一作为每一个礼拜的第一天
15

%y
年的缩写模式,从00到99
00

%Y
用四位数字暗示一年
2000

%Z
时区称号
MDT



  Sizefmt:决意文件巨细是以字节、千字节仍是兆字节为单元暗示。假如以字节为单元,参数值为“bytes”;关于千字节和兆字节可使用缩写模式。一样,sizefmt参数必需放在fsize号令的后面才干利用。

<!--#config sizefmt="bytes" -->

<!--#fsize file="index.html" -->
基础这个东西,有人问学php需要任何基础不?

深爱那片海 发表于 2015-2-4 13:07:07

因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax

再见西城 发表于 2015-2-4 13:07:07

爱上php,他也会爱上你。

简单生活 发表于 2015-2-9 22:57:31

先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。

逍遥一派 发表于 2015-2-28 03:41:28

做为1门年轻的语言,php一直很努力。

变相怪杰 发表于 2015-3-9 20:30:36

有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。

活着的死人 发表于 2015-3-11 02:02:49

学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。

兰色精灵 发表于 2015-3-17 18:34:26

当然这种网站的会员费就几十块钱。

飘飘悠悠 发表于 2015-3-21 20:40:54

爱上php,他也会爱上你。

再现理想 发表于 2015-3-24 06:17:43

我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:

海妖 发表于 2015-3-27 20:39:50

装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。

admin 发表于 2015-3-29 22:12:54

对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。

谁可相欹 发表于 2015-3-30 23:20:01

对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。

柔情似水 发表于 2015-4-16 22:10:47

在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。

愤怒的大鸟 发表于 2015-4-18 06:29:04

刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。

不帅 发表于 2015-4-26 05:10:30

开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。

金色的骷髅 发表于 2015-5-4 02:59:58

其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。

小女巫 发表于 2015-5-7 13:12:07

曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线\\\\\\\'_\\\\\\\' ;

因胸联盟 发表于 2015-6-23 21:37:22

微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox支持的不是很好,所以能少用还是少用的好。

只想知道 发表于 2015-7-15 09:54:03

使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的
页: [1] 2
查看完整版本: PHP编程:SSI利用详解(转一)