Create a hardlink for file

- « eio_init

- eio_lstat »

- PHP Manual
- Eio Functions
- Create a hardlink for file

# eio_link

(PECL eio >= 0.0.1dev)

eio_link — Create a hardlink for file

### Description

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

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

### Parameters

`path`

  Source file path.

`new_path`

  Target file path.

`pri`

  The request priority: `EIO_PRI_DEFAULT`, `EIO_PRI_MIN`, `EIO_PRI_MAX`, or `null`. If `null` passed, `pri` internally is set to `EIO_PRI_DEFAULT`.

`callback`

  `callback` function is called when the request is done. It should match the following prototype:

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

  `data`

    is custom data passed to the request.

  `result`

    request-specific result value; basically, the value returned by corresponding system call.

  `req`

    is optional request resource which can be used with functions like eio_get_last_error()

`data`

  Arbitrary variable passed to `callback`.

### Return Values

### Examples

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

The above example will output something similar to:

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

### See Also

- eio_symlink() - Create a symbolic link