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="文件名称"-->