SSI(Server Side Include) flastmod fsize exec echo config
什麼是 SSI? SSI 是一種夾雜在 HTML 原始檔中, 用以驅動WWW 伺服器執行特定功能 的指令。最常見的用途是用來在每一 張網頁上加入簽名資訊或機構的標誌。 SSI 文件的檔案名稱通常為 filename.shtml (UNIX) filename.stm (Windows)
SSI 的語法 一個以上的空白 <!--#command arg1=value1 arg2=value2 … --> 不得有空白
SSI 的命令 include 加入另一個 HTML 檔案的內容 flastmod 加入檔案最後修改的日期和時間 fsize 加入檔案的大小 exec 執行一個系統命令或 CGI 程式, 並將輸出的結果加入網頁中 echo 加入一個 SSI 變數的值 config 設定時間、大小或錯誤訊息的格式
include 加入另一個 HTML 檔案的內容 加入 document root 之下的文件 <!--#include virtual=“/path/filename.html” --> 加入目前目錄 之下的文件 <!--#include file=“directory/filename.html” --> 不可以使用 ../ 的方式(為了安全性的理由) <!--#include file=“../filename.html” -->
範例 <!-- 檔案名稱:signature.html --> <HR> <P> 文件維護人: <A HREF=“http://www.cs.pu.edu.tw/~tsay”>蔡奇偉</A> </P>
<!-- 檔案名稱:document.shtml --> <HEAD> <TITLE>文件標題</TITLE> </HEAD> <BODY> <!-- 文件的內容(省略) --> <!-- 加入簽名檔 --> <!--#include file=“signature.html” --> </BODY> </HTML>
技巧 include 的命令引數 file 只能用來加入目前目錄或其下的文件。如果想加入同一份的文件於其他目錄下的文件的話,我們可以利用 UNIX 中的 ln 指令將這份加入的文件在其他目錄下製作 symbolic link。 public_html signature.html
flastmod 加入檔案最後修改的日期和時間 document root 之下的文件修改日期和時間 <!--#flastmod virtual=“/path/filename.html” --> 目前目錄 之下的文件修改日期和時間 <!--#flastmod file=“document.html” ->
範例 <!-- 檔案名稱:document.shtml --> <HTML> <HEAD> <TITLE>文件標題</TITLE> </HEAD> <BODY> <!-- 文件的內容(省略) --> <!-- 加入簽名檔 --> <!--#include file=“signature.html” --> 本文件最近維護時間: <!--#flastmod file=“document.shtml” --> </BODY> </HTML>
fsize 加入檔案的大小 <!--#fsize virtual=“/path/filename.html” --> document root 之下的文件大小 <!--#fsize virtual=“/path/filename.html” --> 目前目錄 之下的文件修改日期和時間 <!--#fsize file=“document.html” ->
範例 <A HREF=“big.gif”> <IMG SRC=“small.gif”> </A> 圖檔大小:<!--#fsize file=“big.gif” --> 圖檔大小:213K
exec 執行一個系統命令或 CGI 程式, 並將輸出的結果加入網頁中 <!--#exec cmd=“who” --> <!--#exec cmd=“ls - l” --> <!--#exec cmd=“prog.cgi” -->
echo 加入一個 SSI 變數的值 SSI 變數 DATE_LOCAL 當地日期與時間 DATE_GMT 格林威治日期與時間 DOCUMENT_NAME 主文件的名稱 DOCUMENT_URI 主文件的路徑名稱 LAST_MODIFIED 主文件修改的日期與時間
範例 現在時間是 <!--#echo var=“DATE_LOCAL” --> 本檔案的名稱是 <!--#echo var=“DOCUMENT_NAME” --> 本文件上次維護時間: <!--#echo var=“LAST_MODIFIED” -->
config 設定時間、大小或錯誤訊息的格式 <!--#config errmsg=string --> <!--#config sizefmt=“byte” --> <!--#config sizefmt=“abbrev” --> <!--#config timefmt=日期格式設定字串 -->
Time Format %a 當地週日名稱縮寫(如 Mon 等) %A 當地週日名稱(如 Monday 等) %b 當地月份名稱縮寫(如 Jan 等) %B 當地月份名稱(如 January 等) %c 當地通俗的日期和時間寫法 %d 十進位的月份日子寫法(1 至 31) %m 十進位的月份寫法(1 至 12) %x 當地通俗的日期寫法 %y 兩位十進位數字的年份寫法( 0 至 99) %Y 包括世紀的年份寫法(如 1997)
%H 24 小時( 1 至 24 ) %I 12 小時( 1 至 12 ) %M 分鐘數( 0 至 59 ) %p a.m. 或 p.m. %S 秒數( 0 至 59 ) %X 當地通俗的時間寫法 %Z 時區
範例 <!--#config timefmt=“%A” --> Today is <!--#echo var=“DATE_LOCAL” --> <!--#config timefmt=“%m/%d/%Y” --> 當地日期: <!--#echo var=“DATE_LOCAL” --> <!--#config timefmt=“%H:%M:%S” --> 當地時間: <!--#echo var=“DATE_LOCAL” -->