eio_link

Create a hardlink for file

&reftitle.description; `resource` `eio_link` `string` `path` `string` `new_path` `int` `pri` EIO_PRI_DEFAULT `callable` `callback` NULL `mixed` `data` NULL

`eio_link` creates a hardlink `new_path` for a file specified by `path`.

&reftitle.parameters;

`path`

- Source file path.

`new_path`

- Target file path.

`pri`

- &eio.request.pri.values;

`callback`

- &eio.callback.proto;

`data`

- Arbitrary variable passed to `callback`.

&reftitle.returnvalues;

&reftitle.examples;

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

&example.outputs.similar;

    bool(true)
    bool(true)
    string(%d) "%ssymlink.dat"

&reftitle.seealso;

- `eio_symlink`