Saturday, 4 October 2014

realpath in PHP

realpath — Returns canonicalized absolute pathname
Syntax:

string realpath ( string $path )
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 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, 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.
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.


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

0 comments:

Post a Comment