eio_init
eio_lstat
Eio 関数
PHP Manual

# eio_link

(PECL eio >= 0.0.1dev)

eio_link — ファイルのハードリンクを作る

### 説明

resource eio_link ( string `$path` , string `$new_path` [, int `$pri` = EIO_PRI_DEFAULT [, callable `$callback` = NULL [, mixed `$data` = NULL ]]] )

eio_link() は、`path` へのハードリンク `new_path` を作ります。

### パラメータ

`path`

  リンク元のパス。

`new_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`

  `callback` に渡す任意の引数。

### 返り値

### 例

例1 eio_link() の例

`<?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(%d) "%ssymlink.dat"

### 参考

- eio_symlink

eio_init
eio_lstat
Eio 関数
PHP Manual