# eio_readlink

(PECL eio >= 0.0.1dev)

eio_readlink — Read value of a symbolic link

### 说明

eio_readlink(
string `$path`,
int `$pri`,
callable `$callback`,
mixed `$data` = NULL
): resource

### 参数

`path`

  Source symbolic link path

`pri`

  请求的优先级：`EIO_PRI_DEFAULT`，`EIO_PRI_MIN`，`EIO_PRI_MAX` 或 `null`。如果是 `null`，`pri` 将设为 `EIO_PRI_DEFAULT`。

`callback`

  `callback` 函数在请求完成时被调用。其应匹配一下原型：

  `void callback(mixed $data, int $result[, resource $req]);`
  `data`

    传递给请求的用户数据。

  `result`

    针对请求的结果的值。通常是相应的系统调用返回的值。

  `req`

    可选的请求资源，可被 eio_get_last_error() 之类的函数使用。

`data`

  Arbitrary variable passed to `callback`.

### 返回值

eio_readlink() returns request resource on success, 或者在失败时返回 `false`.

### 示例

示例 #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();
?>`

以上示例的输出类似于：

    bool(true)
    bool(true)
    string(16) "/tmp/symlink.dat"

### 参见

- eio_symlink() - Create a symbolic link

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open