最新消息:yaf表单扩展中新增加了浮点数、日期和集合的校验。php yaf框架扩展实践三——表单

apache ssi指令格式整理记录

编程开发 23508浏览 0评论

apache版本2.2.22

指令格式:

<!--#element attribute=value attribute=value ... -->

这种格式非常巧妙,因为如果服务器不支持shtml,那么这边的指令对于html来说就是注释,不会在页面上显示出来。

1、包含文件include

<!--#include file="footer.shtml" -->
<!--#include virtual="footer.shtml" -->

file和virtual的区别在于:file属性是一个相对于当前目录的文件路径,即不能是一个绝对路径以“/”开头或包含“../”的路径。virtual属性可以是一个相对于被提供的文档的URL ,可以以“/”开头,但必须与被提供的文档位于同一服务器上。如:

<!--#include virtual="/footer.shtml" -->

2、执行系统命令或cgi程序exec

使用exec指令可以执行系统命令或者脚本文件,并显示返回结果。下面指令就是列出目录的文档:

<!--#exec cmd="ls" -->

在windows系统下就是dos命令:

<!--#exec cmd="dir" -->

执行php的脚本:

<!--#exec cmd="php /var/www/top.php" -->

3、输出服务器端环境变量echo

输出当前的系统时间:

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

页面输出:

Thursday, 24-Jan-2013 10:42:56 CST 

如果需要格式化时间显示可以使用config设置:

<!--#config timefmt="%Y-%m-%d %H:%M:%S" -->
文件最后修改时间:<!--#flastmod file="footer.shtml" -->

时间格式化(在这个例子: %Y-%m-%d %H:%M:%S) 的其它参数可以参考C语言中的strftime函数,它们是一致的。上例输出:

文件最后修改时间:2013-01-24 10:26:11

4、显示web文档相关信息

flstmod指令显示文件最后修改时间:

<!--#flastmod file="header.shtml" -->

fsize指令显示文件的大小,单位是bytes:

<!--#fsize file="footer.shtml" -->

5、配置指令config

配置错误信息提示:

<!--#config errmsg="[error occur]" -->

显示文件大小时,以K为单位进行显示:

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

格式化时间显示:

<!--#config timefmt="%Y-%m-%d %H:%M:%S" -->

6、设置变量指令set

<!--#set var="name" value="Anny" -->
<!--#echo var="name" -->

7、流程控制指令if

简单示例:

<!--#set var="name" value="Anny" -->

<!--#if expr="${name}==Anny" -->
        Anny
<!--#elif expr="${name}==Tom" -->
        Tom
<!--#else -->
        other   
<!--#endif -->

小结

不同的web服务器ssi指令有些不一致,这里的ssi指令主要针对apache服务器,其它的web服务器可以参考相应手册。

转载请注明:快乐编程 » apache ssi指令格式整理记录

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址