(PHP 4, PHP 5, PHP 7)
realpath — Returns canonicalized absolute pathname
$path
) : string
realpath() expands all symbolic links and
resolves references to /./, /../ and extra / characters in
the input path
and returns the canonicalized
absolute pathname.
path
The path being checked.
Notă:
Whilst a path must be supplied, the value can be an empty string. In this case, 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. Trailing delimiters, such as \ and /, are also removed.
realpath() returns FALSE
on failure, e.g. if
the file does not exist.
Notă:
The running script must have executable permissions on all directories in the hierarchy, otherwise realpath() will return
FALSE
.
Notă:
For case-insensitive filesystems realpath() may or may not normalize the character case.
Notă:
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.
Notă: Deoarece tipul întreg al PHP este cu semn și multe platforme utilizează întregi de 32 de biți, unele funcții ale sistemului de fișiere pot întoarce rezultate neașteptate pentru fișiere ce depășesc 2GB.
Versiune | Descriere |
---|---|
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 .
|
Example #1 realpath() example
<?php
chdir('/var/www/');
echo realpath('./../../etc/passwd') . PHP_EOL;
echo realpath('/tmp/') . PHP_EOL;
?>
Exemplul de mai sus va afișa:
/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;
?>
Exemplul de mai sus va afișa:
C:\WINDOWS\System32 C:\Program Files