This will trigger a warning and return false if you pass it a non-symlink. If the file doesn't exist, it will trigger a differently worded warning.
mslade@jupiter ~$ touch a
mslade@jupiter ~$ ln -s a b
mslade@jupiter ~$ ls -l {a,b}
-rw------- 1 mslade mslade 0 2009-06-10 15:27 a
lrwxrwxrwx 1 mslade mslade 1 2009-06-10 15:27 b -> a
mslade@jupiter ~$ php -r "var_dump(readlink('b'));"
string(1) "a"
mslade@jupiter ~$ php -r "var_dump(readlink('a'));"
Warning: readlink(): Invalid argument in Command line code on line 1
bool(false)
mslade@jupiter ~$ php -r "var_dump(readlink('c'));"
Warning: readlink(): No such file or directory in Command line code on line 1
bool(false)
readlink
(PHP 4, PHP 5)
readlink — Returns the target of a symbolic link
Description
string readlink
( string
$path
)readlink() does the same as the readlink C function.
Parameters
-
path -
The symbolic link path.
Changelog
| Version | Description |
|---|---|
| 5.3.0 | This function is now available on Windows platforms (Vista, Server 2008 or greater). |
Return Values
Returns the contents of the symbolic link path or FALSE on error.
Examples
Example #1 readlink() example
<?php
// output e.g. /boot/vmlinux-2.4.20-xfs
echo readlink('/vmlinuz');
?>
See Also
- is_link() - Tells whether the filename is a symbolic link
- symlink() - Creates a symbolic link
- linkinfo() - Gets information about a link
MarkAndrewSlade at gmail dot com ¶
3 years ago
mookowg at gmail dot com ¶
2 years ago
In case anyone was getting confused:
This is NOT the coreutil "readlink".
realpath("./path/of/file") is equivalent to readlink -e ./path/of/file
which FYI i think is a terrible design choice choice, since the functionality
of readline -f is hard to mimic, but readline -e is NOT
