STHML 教程(4)

巴扎黑
發布: 2017-04-05 09:42:43
原創
1422 人瀏覽過

1、Config 指令

Config 指令主要用於修改SSI的預設設定。其中:

Errmsg:設定預設錯誤訊息。為了能夠正常的回傳使用者設定的錯誤訊息,在HTML檔案中Errmsg參數必須被放置在其它SSI指令的前面,否則客戶端只能顯示預設的錯誤訊息,而不是由使用者設定的自訂訊息。

# Timefmt:定義日期和時間的使用格式。 Timefmt參數必須在echo指令之前使用。


顯示結果為:

Wednesday, April 12, 2000

也許使用者對上例所使用的%A %B %d感到很陌生,以下我們就以表格的形式總結一下SSI中較為常用的一些日期和時間格式。

Sizefmt:決定檔案大小是以位元組、千位元組或兆位元組為單位表示。如果以位元組為單位,參數值為"bytes";對於千位元組和兆位元組可以使用縮寫形式。同樣,sizefmt參數必須放在fsize指令的前面才能使用。


#

# 2、Include 指令

Include 指令可以把其它文件中的文字或圖片插入到目前被解析的文件中,這是整個SSI的關鍵所在。透過Include指令只需要改動一個檔案就可以瞬間更新整個網站!

Include 指令有兩個不同的參數:

# Virtual:給出到伺服器端某個文件的虛擬路徑。
File:給出到目前目錄的相對路徑,其中不能使用"../",也不能使用絕對路徑。


這就要求每個目錄中都包含一個header.html檔案。

3、Echo 指令

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, HEAD, 和POST。例如:

REMOTE_HOST:顯示發出要求資訊的用戶端主機名稱。

REMOTE_ADDR:顯示發出請求訊息的客戶端IP位址。

AUTH_TYPE:顯示使用者身分的驗證方法。

REMOTE_USER:顯示存取受保護頁面的使用者所使用的帳號名稱。

4、Fsize:顯示指定檔案的大小,可以結合config指令的sizefmt參數自訂輸出格式。

5、Flastmod:顯示指定檔案的最後修改日期,可以結合config 指令的timefmt參數控制輸出格式。


這裡,我們可以利用flastmod參數顯示出一個頁面上所有連結頁面的更新日期。方法如下:


File

Another File

顯示結果為:

File April 19, 2000
Another File January 08, 2000

6、Exec

Exec指令可以執行CGI腳本或shell指令。使用方法如下:

Cmd:使用/bin/sh執行指定的字串。如果SSI使用了IncludesNOEXEC選項,則該指令將被封鎖。
Cgi:可以用來執行CGI腳本。例如,下面這個範例中使用服務端cgi-bin目錄下的counter.pl腳本程式在每個頁面放置一個計數器:

# 關於SHTML與HTML的差異

# 讓我們先來看看SHTML和HTML的差別,如果用一句話來解釋就是:SHTML 不是HTML而是一種伺服器 API,shtml是伺服器動態產成的html.

雖然兩者都是超文本格式,但shtml是一種用於SSI技術的文件。也就是Server Side Include--SSI 伺服器端包含指令。如果Web Server有SSI功能的話,大多數(尤其是基於Unix平台)的WEB伺服器,如Netscape Enterprise Server等都支援SSI指令。

以上是STHML 教程(4)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!