(PHP 4, PHP 5)
realpath — Returns canonicalized absolute pathname
$path
)
realpath() expands all symbolic links and
resolves references to '/./', '/../' and extra '/' characters in
the input path
and return the canonicalized
absolute pathname.
path
The path being checked.
Note:
Whilst a path must be supplied, the value can be blank or
NULL
In these cases, the value is interpreted as the current directory.
Returns the canonicalized absolute pathname on success. The resulting path will have no symbolic link, '/./' or '/../' components.
realpath() returns FALSE
on failure, e.g. if
the file does not exist.
Note:
The running script must have executable permissions on all directories in the hierarchy, otherwise realpath() will return
FALSE
.
Note: Because PHP's integer type is signed and many platforms use 32bit integers, some filesystem functions may return unexpected results for files which are larger than 2GB.
Version | Description |
---|---|
5.3.0 |
Prior to this release, if only the last path
component did not exist, realpath() would not fail on
*BSD systems. realpath() now fails in this case.
|
5.0.0 |
Prior to this release, a blank or NULL path would
cause realpath() to return the directory name of the script.
|
Example #1 realpath() example
<?php
chdir('/var/www/');
echo realpath('./../../etc/passwd');
?>
The above example will output:
/etc/passwd
Example #2 realpath() on Windows
On windows realpath() will change unix style paths to windows style.
<?php
echo realpath('/windows/system32');
?>
The above example will output:
C:\WINDOWS\System32