14.6.3 掌握SSI指令(1)
SSI指令基本格式为:<!--指令名称="指令参数">
下面分别对其指令的用途进行介绍。
1.#echo指令
echo指令用于将环境变量插入到页面中。其使用语法为:
- <!--#echovar="变量名称"-->。
例如:<!--#echo var="DOCUMENT_NAME"→将显示当前文档名;<!--#echo var="DATE_LOCAL"→语句将显示当前服务器日期;<!--#echo var="REMOTE_ADDR"-->语句显示客户IP地址。
可在SSI中使用的变量主要有三种:只在SSI中能使用的变量、标准CGI变量和某些服务器支持的变量。表14-6列出了标准SSI支持的变量。
表14-6 标准SSI支持的变量
变量名称 |
作用 |
示例 |
DOCUMENT_NAME |
当前文档名 |
echo.html |
DOCUMENT_URL或 DOCUMENT_URI |
当前文档相对URL |
/ssi/echo.html |
QUERY_STRING_UNESCAPED 或QUERY_STRING |
所发送的查询字符串 |
sample |
DATE_LOCAL |
服务器中当前日期 |
Sun, 23 May 1999 21:54:30 |
DATE_GMT |
以格林威冶时间 设置的服务器时间 |
Sun, 23 May 1999 13:54:30 |
LAST_MODIFIED |
当前文档最后修改时间 |
23-May-1999 PST |
表14-7列出了所有标准的CGI变量。
表14-7 标准CGI变量
CGI环境变量名称 |
作用 |
示例 |
AUTH_TYPE |
用户所使用的身份验证类型 | |
CONTENT_LENGTH |
服务器输出文本长度 |
0 |
HTTP_ACCEPT |
客户机可接受的MIME类型 |
application/vnd.ms-excel, application/msword, */* |
HTTP_USER_AGENT |
客户机浏览器配置状况 |
Mozilla/4.0 (compatible; MSIE 4.01; Windows 98) |
GATEWARY_ INTERFACE |
服务器所使用的 CGI规范的修正版 |
CGI/1.1 |
PATH_INFO |
客户端给出附加路径信息 |
7 |
PATH_TRANSLATED |
PATH_INFO的值, 但带有扩展为某个 目录规范的虚拟路径 |
/v/spool/webadm/html |
QUERY_STRING |
在引用该脚本的URL 中跟在问号(?)后面的信息 |
Sample |
REMOTE_ADDR |
客户机IP地址 |
202.103.27.103 |
REMOTE_HOST |
客户机名称 | |
REQUEST_METHOD |
HTTP请求方法 |
GET |
SCRIPT_NAME |
当前脚本名称 |
/cgi-main/ cgiwrap/hoyi/hiecho.cgi |
SERVER_NAME |
服务器名称或IP地址 |
hoyi.zb169.net |
SERVER_PORT |
服务器接请求的TCP/IP端口 |
80 |
SERVER_PROTOCOL |
与请求有关的信息检 索协议的名称与版本, 通常为HTTP/1.0 |
HTTP/1.1 |
SERVER_SOFTWARE |
响应请求的Web服 务器软件的名称和版本 |
Apache/1.3.6(UNIX) |
2.#include指令
include指令用于将文本文件的内容直接插入到文档页面中。其语法为:
- <!--#includefile="文件名称"-->
- <!--#includevirtual="文件名称"-->
其中:file用于指定文件名,文件名只包含一个相对路径,该路径是相对于使用#include指令的文档所在的目录。被包含文件可以在include指令所在文档的同一级目录或其子目录中,但不能在其上一级目录中。如表示当前目录下的helloworld.htm文档,则为file="helloworld.htm"。
virtual表示指定的文件名是Web站点上的虚拟目录,而不是绝对路径,也不是当前使用#include指令的文档所在的目录。虚拟目录的设置也可以在httpd.conf文件中完成。例如表示相对于服务器文档根目录下hello目录下的helloworld.htm文件;则为file="/hello/helloworld.htm"。
1.文件名称必须带有扩展名。
2.被包含的文件可以具有任何文件扩展名。
3.#flastmod和#fsize指令
#flastmod和#fsize指令用于显示文件的两个最常用属性:最近更新时间和大小。其中#flastmod用于显示文件的最近更新日期;#fsize用于显示文件的大小。这两条指令的语法为:
- <!--#flastmodfile="文件名称"-->
- <!--#fsizefile="文件名称"-->