Home php教程 php手册 shtml教程(2)

shtml教程(2)

Jun 06, 2016 pm 08:00 PM
php Tutorial

#flastmod 和 #fsize 示范 作用: #flastmod 文件最近更新日期 #fsize 文件的长度 语法: !--#flastmod file=" 文件名称 "-- !--#fsize file=" 文件名称 "-- 参数: file 指定包含文件相对于本文档的位置 如 info.txt 表示当前目录下的的 info.txt 文档 virt

#flastmod #fsize 示范

作用:

#flastmod 文件最近更新日期
#fsize 
文件的长度

语法:


参数:

file 指定包含文件相对于本文档的位置 info.txt 表示当前目录下的的info.txt文档
virtual
指定相对于服务器文档根目录的位置 /hoyi/info.txt 表示

注意:文件名称必须带有扩展名。

示例:

将当前目录下news.htm文件的最近更新日期插插入到当前页面
将当前目录下news.htm的文件大小入到当前页面

#exec 示范

作用:将某一外部程序的输出插入到页面中。可插入CGI程序或者是常规应用程序的输入,这取决于使用的参数是cmd还是cgi

语法:


参数:

cmd 常规应用程序
cgi CGI
脚本程序

示例:

将会显示密码文件
将会显示当前目录下文件列表
将会执行CGI程序gb.cgi
将会执行CGI程序access_log.cgi

注意:从上面的示例可以看出,这个指令相当方便,但是也存在安全问题。

禁止方法:

1.   Apache,将access.conf中的"Options Includes ExecCGI"这行代码删除;

2.   IIS中,要禁用 #exec 命令,可修改 SSIExecDisable 元数据库;

#config

作用:指定返回给客户端浏览器的错误信息、日期和文件大小的格式。

语法:



参数:

errmsg 自定义SSI执行错误信息,可以为任何你喜欢的方式。
sizefmt 
文件大小显示方式,默认为字节方式("bytes")可以改为千字节方式("abbrev")
timefmt 
时间显示方式,最灵活的配置属性。

示例:显示一个不存在文件的大小


以千字节方式显示文件大小

语法:


以特定的时间格式显示时间


显示今天是星期几,几月,时区

XSSI

XSSIExtended SSI)是一组高级SSI指令,内置于Apache 1.2或更高版本的mod-include模块之中。其中可利用的的指令有:

#printenv
#set
#if

#printenv

作用:显示当前存在于WEB服务器环境中的所有环境变量。

语法:

#set

作用:可给变量赋值,以用于后面的if语句。

语法:

示例:

#if

作用:创建可以改变数据的页面,这些数据根据使用if语句时计算的要求予以显示。

语法:


 
显示内容

 
显示内容

 
显示内容

示例:


 
欢迎光临 http://www.baidu.com

 
欢迎光临 http://www.google.com

 
欢迎光临 Afly's Blog

注意:用于前面指令中的反斜杠,是用来代换内部的引号,以便它们不会被解释为结束表达式。不可省略。

1Config 命令

Config 命令主要用于修改SSI的默认设置。其中:

Errmsg:设置默认错误信息。为了能够正常的返回用户设定的错误信息,在HTML文件中Errmsg参数必须被放置在其它SSI命令的前面,否则客户端只能显示默认的错误信息,而不是由用户设定的自定义信息。

Timefmt:定义日期和时间的使用格式。Timefmt参数必须在echo命令之前使用。


显示结果为:

Wednesday April 12 2000

也许用户对上例中所使用的%A %B %d感到很陌生,下面我们就以表格的形式总结一下SSI中较为常用的一些日期和时间格式。

Sizefmt:决定文件大小是以字节、千字节还是兆字节为单位表示。如果以字节为单位,参数值为"bytes";对于千字节和兆字节可以使用缩写形式。同样,sizefmt参数必须放在fsize命令的前面才能使用。


2Include 命令

Include 命令可以把其它文档中的文字或图片插入到当前被解析的文档中,这是整个SSI的关键所在。通过Include命令只需要改动一个文件就可以瞬间更新整个站点!

Include 命令具有两个不同的参数:

Virtual:给出到服务器端某个文档的虚拟路径。
File
:给出到当前目录的相对路径,其中不能使用"../",也不能使用绝对路径。


这就要求每一个目录中都包含一个header.html文件。

3Echo 命令

Echo 命令可以显示以下各环境变量:

DOCUMENT_NAME:显示当前文档的名称。
DOCUMENT_URI
:显示当前文档的虚拟路径。例如:


随着网站的不断发展,那些越来越长的URL地址肯定会让人头疼。如果使用SSI,一切就会迎刃而解。因为我们可以把网站的域名和SSI命令结合在一起显示完整的URL,即:

http://YourDomain

QUERY_STRING_UNESCAPED显示未经转义处理的由客户端发送的查询字串其中所有的特殊字符前面都有转义符"/"。例如:

DATE_LOCAL:显示服务器设定时区的日期和时间。用户可以结合config命令的timefmt参数,定制输出信息。例如:


显示结果为:

Saturday the 15 of April in the year 2000

DATE_GMT:功能与DATE_LOCAL一样,只不过返回的是以格林尼治标准时间为基准的日期。例如:

LAST_MODIFIED:显示当前文档的最后更新时间。同样,这是SSI中非常实用的一个功能,只要在HTML文档中加入以下这行简单的文字,就可以在页面上动态的显示更新时间。

CGI环境变量

除了SSI环境变量之外,echo命令还可以显示以下CGI环境变量:

SERVER_SOFTWARE:显示服务器软件的名称和版本。例如:

SERVER_NAME
显示服务器的主机名称,DNS别名或IP地址。例如:

SERVER_PROTOCOL
:显示客户端请求所使用的协议名称和版本,如HTTP/1.0。例如:

SERVER_PORT
:显示服务器的响应端口。例如:

REQUEST_METHOD
:显示客户端的文档请求方法,包括GET HEADPOST。例如:

REMOTE_HOST
:显示发出请求信息的客户端主机名称。

REMOTE_ADDR
:显示发出请求信息的客户端IP地址。

AUTH_TYPE
:显示用户身份的验证方法。

REMOTE_USER
:显示访问受保护页面的用户所使用的帐号名称。

4Fsize:显示指定文件的大小,可以结合config命令的sizefmt参数定制输出格式。

5Flastmod:显示指定文件的最后修改日期,可以结合config 命令的timefmt参数控制输出格式。


这里,我们可以利用flastmod参数显示出一个页面上所有链接页面的更新日期。方法如下:


File

Another File

显示结果为:

File April 19 2000
Another File January 08
2000

6Exec

Exec命令可以执行CGI脚本或者shell命令。使用方法如下:

Cmd:使用/bin/sh执行指定的字串。如果SSI使用了IncludesNOEXEC选项,则该命令将被屏蔽。
Cgi
:可以用来执行CGI脚本。例如,下面这个例子中使用服务端cgi-bin目录下的counter.pl脚本程序在每个页面放置一个计数器:

关于SHTMLHTML的区别

让我们先来看看SHTMLHTML的区别,如果用一句话来解释就是:SHTML 不是HTML而是一种服务器 APIshtml是服务器动态产成的html.

虽然两者都是超文本格式,但shtml是一种用于SSI技术的文件。也就是Server Side Include--SSI 服务器端包含指令。如果Web ServerSSI功能的话,大多数(尤其是基于Unix平台)的WEB服务器,如Netscape Enterprise Server等均支持SSI命令。

 

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
1 months ago By 尊渡假赌尊渡假赌尊渡假赌
Two Point Museum: All Exhibits And Where To Find Them
1 months ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

CakePHP Project Configuration CakePHP Project Configuration Sep 10, 2024 pm 05:25 PM

In this chapter, we will understand the Environment Variables, General Configuration, Database Configuration and Email Configuration in CakePHP.

PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

CakePHP Date and Time CakePHP Date and Time Sep 10, 2024 pm 05:27 PM

To work with date and time in cakephp4, we are going to make use of the available FrozenTime class.

CakePHP File upload CakePHP File upload Sep 10, 2024 pm 05:27 PM

To work on file upload we are going to use the form helper. Here, is an example for file upload.

CakePHP Routing CakePHP Routing Sep 10, 2024 pm 05:25 PM

In this chapter, we are going to learn the following topics related to routing ?

Discuss CakePHP Discuss CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP is an open-source framework for PHP. It is intended to make developing, deploying and maintaining applications much easier. CakePHP is based on a MVC-like architecture that is both powerful and easy to grasp. Models, Views, and Controllers gu

CakePHP Creating Validators CakePHP Creating Validators Sep 10, 2024 pm 05:26 PM

Validator can be created by adding the following two lines in the controller.

How To Set Up Visual Studio Code (VS Code) for PHP Development How To Set Up Visual Studio Code (VS Code) for PHP Development Dec 20, 2024 am 11:31 AM

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

See all articles