realpath
(PHP 4, PHP 5, PHP 7)
realpath — Returns canonicalized absolute pathname
Description
$path
) : string
realpath() expands all symbolic links and
resolves references to /./, /../ and extra / characters in
the input path
and returns the canonicalized
absolute pathname.
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: 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.
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.2.1 |
Prior to this version, realpath() returned FALSE
if path is an empty string or NULL .
|
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:
/etc/passwd /tmp
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() - Returns trailing name component of path
- dirname() - Returns a parent directory's path
- pathinfo() - Returns information about a file path
English translation
You have asked to visit this site in English. For now, only the interface is translated, but not all the content yet.If you want to help me in translations, your contribution is welcome. All you need to do is register on the site, and send me a message asking me to add you to the group of translators, which will give you the opportunity to translate the pages you want. A link at the bottom of each translated page indicates that you are the translator, and has a link to your profile.
Thank you in advance.
Document created the 30/01/2003, last modified the 26/10/2018
Source of the printed document:https://www.gaudry.be/en/php-rf-realpath.html
The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.
References
These references and links indicate documents consulted during the writing of this page, or which may provide additional information, but the authors of these sources can not be held responsible for the content of this page.
The author This site is solely responsible for the way in which the various concepts, and the freedoms that are taken with the reference works, are presented here. Remember that you must cross multiple source information to reduce the risk of errors.