• « eio_init
  • eio_lstat »
  • PHP Manual
  • Funciones Eio
  • Crear un enlace duro par un fichero

eio_link

(PECL eio >= 0.0.1dev)

eio_link — Crear un enlace duro par un fichero

Descripción

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

eio_link() crea el enlace duro dado por new_path para un fichero especificado por path.

Parámetros

path

La ruta del fichero origen.

new_path

La ruta del fichero destino.

pri

La prioridad de petición: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, o NULL. Si se pasa NULL, pri es establecido internamente a EIO_PRI_DEFAULT.

callback

La función callback es llamada cuando la petición está hecha. Debería seguir el siguiente prototipo:

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

son datos personalizados pasados a la petición.

result

es el valor del resultado específico de la petición; básicamente, el valor devuelto por la correspondiente llamada al sistema.

req

es el recurso de petición opcional que puede usarse con funciones como eio_get_last_error()

data

Variable arbitraria pasada a callback.

Valores devueltos

Ejemplos

Ejemplo #1 Ejemplo de eio_link()

<?php
$nombre_fichero 
= dirname(__FILE__)."/symlink.dat";
touch($nombre_fichero);
$enlace = dirname(__FILE__)."/symlink.link";
$enlace_duro = dirname(__FILE__)."/hardlink.link";

function 
mi_llamada_retorno_hardlink($datos, $resultado) {
    global 
$enlace, $nombre_fichero;
    
var_dump(file_exists($datos) && !is_link($datos));
    @
unlink($datos);

    
eio_symlink($nombre_fichero, $enlace, EIO_PRI_DEFAULT, "mi_llamada_retorno_symlink", $enlace);
}

function 
mi_llamada_retorno_symlink($datos, $resultado) {
    global 
$enlace, $nombre_fichero;
    
var_dump(file_exists($data) && is_link($datos));

    if (!
eio_readlink($datos, EIO_PRI_DEFAULT, "mi_llamada_retorno_readlink", NULL)) {
        @
unlink($enlace);
        @
unlink($nombre_fichero);
    }
}

function 
mi_llamada_retorno_readlink($datos, $resultado) {
    global 
$nombre_fichero, $enlace;
    
var_dump($resultado);

    @
unlink($enlace);
    @
unlink($nombre_fichero);
}

eio_link($nombre_fichero, $enlace_duro, EIO_PRI_DEFAULT, "mi_llamada_retorno_hardlink", $enlace_duro);
eio_event_loop();
?>

El resultado del ejemplo sería algo similar a:

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

Ver también

  • eio_symlink