realpath
Returns canonicalized absolute pathname
Description
stringfalse realpath(string $path
)
Parameters
-
path
-
The path being checked.
Note:
Whilst a path must be supplied, the value can be an empty string.
In this case, 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. Trailing delimiters,
such as \
and /
, are also removed.
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:
For case-insensitive filesystems realpath may or may
not normalize the character case.
Note:
The function realpath will not work for a file which
is inside a Phar as such path would be a virtual path, not a real one.
Note:
On Windows, junctions and symbolic links to directories are only expanded by
one level.
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.
Examples
Example #1 realpath example
<?php
chdir('/var/www/');
echo realpath('./../../etc/passwd') . PHP_EOL;
echo realpath('/tmp/') . PHP_EOL;
?>
The above example will output:
Example #2 realpath on Windows
On windows realpath will change unix style paths to
windows style.
<?php
echo realpath('/windows/system32'), PHP_EOL;
echo realpath('C:\Program Files\\'), PHP_EOL;
?>
The above example will output:
C:\WINDOWS\System32
C:\Program Files
See Also
- basename
- dirname
- pathinfo