PHP/Form/ SERVER
Содержание
- 1 Adjusting behavior based on an environment variable
- 2 Deciding what to do based on request method
- 3 Getting Times and Dates of Files: $_SERVER["SCRIPT_FILENAME"]
- 4 Log use IP address
- 5 Output file time
- 6 PHP $_SERVER Arguments
- 7 $_SERVER extracts valuable server- and script-related information
- 8 Some Common $_SERVER Elements
- 9 superglobal variables
Adjusting behavior based on an environment variable
<source lang="html4strict">
<?php $version = $_SERVER["SITE_VERSION"]; if ("members" == $version) {
if (!authenticate_user($_POST["username"], $_POST["password"])) { header("Location: http://guest.example.ru/"); exit; }
} include_once "${version}_header"; // load custom header
</source>
Deciding what to do based on request method
<source lang="html4strict">
<?php if ($_SERVER["REQUEST_METHOD"] == "GET") { ?> <form action="<?php echo $_SERVER["SCRIPT_NAME"] ?>" method="post"> What is your first name? <input type="text" name="first_name" /> <input type="submit" value="Say Hello" /> </form> <?php } else {
echo "Hello, " . $_POST["first_name"] . "!";
} ?>
</source>
Getting Times and Dates of Files: $_SERVER["SCRIPT_FILENAME"]
<source lang="html4strict">
<?php $lastmod = filemtime($_SERVER["SCRIPT_FILENAME"]); echo "file was updated on " . date("l d F Y, \a\t H:i:s T", $lastmod); ?>
</source>
Log use IP address
<source lang="html4strict">
<?php
$address = $_SERVER["REMOTE_ADDR"];
$referer = $_SERVER["HTTP_REFERER"];
$browser = $_SERVER["HTTP_USER_AGENT"];
$file = fopen("log.html", "a");
$time = date("H:i dS F");
fwrite( $file, "Time: $time
" );
if( $address != null)
{
fwrite( $file, "IP Address: $address
");
} if( $referer != null) {
fwrite( $file, "Referer: $referer
");
}
fwrite( $file, "Browser: $browser");
fclose($file); ?>
</source>
Output file time
<source lang="html4strict">
<?php
$lastmod = filemtime($_SERVER["SCRIPT_FILENAME"]); echo "This file was last updated on " . date("l d F Y, \a\t H:i:s T", $lastmod) . ".";
?>
</source>
PHP $_SERVER Arguments
<source lang="html4strict">
Argument Result PHP_SELF Returns the filename of the current script with the path relative to the root SERVER_PROTOCOL Returns the name and revision of the page-requested protocol REQUEST_METHOD Returns the request method used to access the page REQUEST_TIME Returns the timestamp from the beginning of the request DOCUMENT_ROOT Returns the root directory under which the current script is executing HTTP_REFERER Returns the page address that referred to the current page HTTP_USER_AGENT Returns the user agent of the header from the current request (handy for browser identification) REMOTE_ADDR Returns the IP address of the current user (handy for security) REMOTE_PORT Returns the port of the user"s machine that is accessing the page SCRIPT_FILENAME Returns the absolute filename from the current script SCRIPT_NAME Returns the path of the current script
</source>
<source lang="html4strict">
PHP $_SERVER Arguments Argument Result PHP_SELF Returns the path and filename of the current script SERVER_PROTOCOL Returns the name and revision of the page-requested protocol REQUEST_METHOD Returns the request method used to access the page REQUEST_TIME Returns the timestamp from the beginning of the request DOCUMENT_ROOT Returns the root directory of the current script HTTP_REFERER Returns the page address that referred to the current page HTTP_USER_AGENT Returns the user agent of the header from the current request REMOTE_ADDR Returns the IP address of the current user REMOTE_PORT Returns the port of the user"s machine that is accessing the page SCRIPT_FILENAME Returns the absolute filename from the current script SCRIPT_NAME Returns the path of the current script
</source>
Some Common $_SERVER Elements
<source lang="html4strict">
Variable Contains Example
$_SERVER["PHP_SELF"] The current script. /l.php
$_SERVER["HTTP_USER_AGENT"] The name and version of the client. Mozilla/4.6 ?(X11; I;Linux2.2. 6-15apmac ppc)
$_SERVER["REMOTE_ADDR"] The IP address of the client. 192.152.55.35
$_SERVER["REQUEST_METHOD"] Whether the request was GET or POST. POST
$_SERVER["QUERY_STRING"] For GET requests, the encoded data sent appended to the URL. name=matt&address=unknown
$_SERVER["REQUEST_URI"] The full address of the request, including query string. /phpbook/source/listing10.1.php? name=matt
$_SERVER["HTTP_REFERER"] The address of the page from which the request was made. http://p24.corrosive.co.uk/ref.html
</source>
superglobal variables
<source lang="html4strict">
<?php foreach ($_SERVER as $var => $value) {
echo "$var => $value
";
} ?>
</source>