eio_readlink
(PECL eio >= 0.0.1dev)
eio_readlink — Read value of a symbolic link.
Description
resource eio_readlink ( string $path , int $pri , callable $callback [, string $data = NULL ] )
Parameters
path
Source symbolic link path
pri
The request priority: EIO_PRI_DEFAULT
, EIO_PRI_MIN
, EIO_PRI_MAX
, or NULL
. If NULL
passed, pri
internally is set to EIO_PRI_DEFAULT
.
callback
callback
function is called when the request is done. It should match the following prototype:
void?callback(mixed?$data,?int?$result[,?resource?$req]);
data
is custom data passed to the request.
result
request-specific result value; basically, the value returned by corresponding system call.
req
is optional request resource which can be used with functions like eio_get_last_error()
`data`
Arbitrary variable passed to callback
.
Return Values
eio_readlink() returns request resource on success or FALSE
on error.
Examples
Example #1 eio_readlink() example
<?php
$filename?=?dirname(__FILE__)."/symlink.dat";
touch($filename);
$link?=?dirname(__FILE__)."/symlink.link";
$hardlink?=?dirname(__FILE__)."/hardlink.link";
function?my_hardlink_cb($data,?$result)?{
????global?$link,?$filename;
????var_dump(file_exists($data)?&&?!is_link($data));
????@unlink($data);
????eio_symlink($filename,?$link,?EIO_PRI_DEFAULT,?"my_symlink_cb",?$link);
}
function?my_symlink_cb($data,?$result)?{
????global?$link,?$filename;
????var_dump(file_exists($data)?&&?is_link($data));
????if?(!eio_readlink($data,?EIO_PRI_DEFAULT,?"my_readlink_cb",?NULL))?{
????????@unlink($link);
????????@unlink($filename);
????}
}
function?my_readlink_cb($data,?$result)?{
????global?$filename,?$link;
????var_dump($result);
????@unlink($link);
????@unlink($filename);
}
eio_link($filename,?$hardlink,?EIO_PRI_DEFAULT,?"my_hardlink_cb",?$hardlink);
eio_event_loop();
?>
The above example will output something similar to:
bool(true)
bool(true)
string(16) "/tmp/symlink.dat"
See Also
- eio_symlink
← eio_readdir
eio_realpath →
? 1997–2017 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com