eio_readlink

Read value of a symbolic link

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

&reftitle.parameters;

`path`

- Source symbolic link path

`pri`

- &eio.request.pri.values;

`callback`

- &eio.callback.proto;

`data`

- Arbitrary variable passed to `callback`.

&reftitle.returnvalues;

`eio_readlink` returns request resource on success,&return.falseforfailure;.

&reftitle.examples;

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

&example.outputs.similar;

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

&reftitle.seealso;

- `eio_symlink`