シンボリックリンクを作る

# eio_symlink

(PECL eio >= 0.0.1dev)

eio_symlink — シンボリックリンクを作る

### 説明

function eio_symlink(
string `$path`,
string `$new_path`,
int `$pri` = EIO_PRI_DEFAULT,
callable `$callback` = NULL,
mixed `$data` = NULL
): resource

eio_symlink() は、`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` に渡す任意の引数。

### 戻り値

eio_symlink() は、成功した場合にリクエストリソースを返します。失敗した場合に `false` を返します

### 例

例1 eio_symlink() の例

    <?php
    $filename = dirname(__FILE__)."/symlink.dat";
    touch($filename);
    $link = dirname(__FILE__)."/symlink.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_symlink($filename, $link, EIO_PRI_DEFAULT, "my_symlink_cb", $link);
    eio_event_loop();
    ?>

上の例の出力は、 たとえば以下のようになります。

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

### 参考

- eio_link() - ファイルのハードリンクを作る

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