Name |
Description |
__LINE__ |
The current line number of the file. |
__FILE__ |
The full path and filename of the file.
If used inside an include, the name of the included file is returned. Since
PHP 4.0.2, __FILE__ always contains an absolute path with symlinks resolved
whereas in older versions it contained relative path under some
circumstances. |
__DIR__ |
The directory of the file. If used inside
an include, the directory of the included file is returned. This is
equivalent to dirname(__FILE__). This directory name does not have a trailing
slash unless it is the root directory. (Added in PHP 5.3.0.) |
__FUNCTION__ |
The function name. (Added in PHP 4.3.0)
As of PHP 5 this constant returns the function name as it was declared
(case-sensitive). In PHP 4 its value is always lowercased. |
__CLASS__ |
The class name. (Added in PHP 4.3.0) As
of PHP 5 this constant returns the class name as it was declared
(case-sensitive). In PHP 4 its value is always lowercased. |
__METHOD__ |
The class method name. (Added in PHP
5.0.0) The method name is returned as it was declared (case-sensitive). |
__NAMESPACE__ |
The name of the current namespace
(case-sensitive). This constant is defined in compile-time (Added in PHP
5.3.0). |
register_globals
 setting in PHP's configuration file (php.ini
). This setting (which can be either On or Off)
tells whether or not to register the contents of the EGPCS (Environment, GET, POST, Cookie, Server) variables as global variables. For example, if register_globals
 is on, the url http://www.example.com/test.php?id=3
will declare $id
 as a global variable with no code required. Similarly, $DOCUMENT_ROOT
 would also be defined, since it is part of the $_SERVER
 'superglobal' array. These two examples are the equivalent of placing the following code at the beginning of a script:
$id = $_GET['id'];
$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];This feature is a great security risk, and you should ensure that register_globals is Off for all scripts (as of PHP 4.2.0 this is the default). It's preferred to go through PHP Predefined Variables instead, such as the superglobal $_REQUEST. Even more secure is to further specify by using: $_ENV, $_GET, $_POST, $_COOKIE, or $_SERVER instead of using the more general superglobal $_REQUEST.
<?php
$urlÂ
=Â
'http://username:password@hostname/path?arg=value#anchor'
;
print_r
(
parse_url
(
$url
));
echoÂ
parse_url
(
$url
,Â
PHP_URL_PATH
);
?>
Array( [scheme] => http [host] => hostname [user] => username [pass] => password [path] => /path [query] => arg=value [fragment] => anchor )