realpath
(PHP 4, PHP 5)
realpath — Returns canonicalized absolute pathname
Description
realpath() expands all symbolic links and resolves references to '/./', '/../' and extra '/' characters in the input path and return the canonicalized absolute pathname.
Parameters
-
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.
Return Values
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, otherwiserealpath() will return FALSE.
Changelog
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. |
Examples
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