Hosting Services > Developer's Corner > PHP

Server Side Includes

 Support for server side includes (SSI) is standard with all web accounts. SSI allows you to "piece together" an HTML file on-the-fly using the various tools below. When used creatively, SSI can enable you to manage and edit your site's "look & feel" by changing only a few files. SSI is NOT compatible with Microsoft FrontPage.

 

Including other files

You can dynamically include files within your .shtml documents using the following syntax. These files may be static HTML files, static text files, freeCGI programs, or custom CGI programs:

<!--#include virtual="/myfile.html" -->
<!--#include virtual="/cgi-bin/myscript.cgi" -->

 

Global variables

The following useful variables are available from within SSI.
For a complete list of variables, please use the
<!--#printenv --> command.

To place a variable within a .shtml file, use the following code:
<!--#echo var="VARIABLE_NAME" -->

Variable

Meaning

HTTP_REFERER

The page from which the visitor came

HTTP_USER_AGENT

The visitor's browser software

SERVER_SOFTWARE

The version of the web server

SERVER_NAME

Your server name

REMOTE_ADDR

The remote IP address of the visitor

REMOTE_USER

The username (in a restricted area)

QUERY_STRING

Any data following a '?' in the URL

DOCUMENT_NAME

The name of this file

DATE_LOCAL

The current date (pacific time)

DATE_GMT

The current date (GMT)

LAST_MODIFIED

"Last modified" date of the current file

 File size

You can show the size of the current document within your .shtml file:
<!--#config sizefmt="bytes" --> (for size in bytes)
<!--#fsize -->

or

<!--#config sizefmt="abbrev" --> (for size in Kb or Mb)
<!--#fsize -->

 

Timestamps

Using SSI, you can place timestamps within your documents.

First, specify a time format using the variables below:
<!--#config timefmt="%I:%M:%S%p" -->

Then, print out a time using
echo (above), i.e.:
<!--#echo var="DATE_LOCAL" -->
<!--#echo var="LAST_MODIFIED" -->

 

Code

Meaning

%c

The time and date

%R

The time (hh:mm)

%T

The time (hh:mm:ss)

%r

The time (hh:mm:ss AM)

%H

The hour (24-hour clock, 00-23)

%k

The hour (24-hour clock, 0-23)

%I

The hour (12-hour clock, 01-12)

%l

The hour (12-hour clock, 1-12)

%M

The minutes (00-59)

%S

The seconds (00-59)

%p

AM or PM

%s

The number of seconds since January 1, 1970

%Z

The time zone

%D

The date

%a

The abbreviated weekday name (Mon, Tue, ...)

%A

The full weekday name (Monday, Tuesday, ...)

%w

The weekday number (0-6), 0=Sunday

%b

The abbreviated month name (Jan, Feb, ...)

%B

The full month name (January, February, ...)

%m

The month of the year (01-12)

%d

The day of the month (01-31)

%e

The day of the month (1-31)

%y

The 2-digit year

%Y

The 4-digit year

%C

The century

%j

The day of the year (001-366)

%W

The week of the year (00-53) starting Monday

 

Setting variables

You can set variables for use in later echo statements:
<!--#set var="VARIABLE_NAME" value="VARIABLE_VALUE" -->

You can then print these variables using the following syntax:
<!--#echo var="VARIABLE_NAME" -->

 

Parsing non-SSI file types

Only .shtml files should include SSI tags. In some cases, however, you may wish to have the webserver scan .html files for SSI tags as well. To do so, add the following line to the .htaccess file in your document root:

AddType text/x-server-parsed-html shtml html htm

Where
shtml, html, and htm are file types to scan for SSI tags. Use this with caution; on a busy site, this may lead to noticable performance degradation.

 

XSSI (eXtended Server Side Includes)

We use the Apache webserver which supports the XSSI standard (the embedding of conditional statements within SSI). For more information on XSSI, or for the latest supported SSI enhancements, please visit the Apache webserver SSI documentation.