eio_nthreads
eio_poll
Fonctions Eio
PHP Manual

# eio_open

(PECL eio >= 0.0.1dev)

eio_open — Ouvre un fichier

### Description

resource eio_open ( string `$path` , int `$flags` , int `$mode` , int `$pri` , callable `$callback` [, mixed `$data` = NULL ] )

eio_open() ouvre un fichier spécifié par l'argument `path` avec le mode d'accès spécifié par l'argument`mode`.

### Liste de paramètres

`path`

  Chemin vers le fichier à ouvrir.

  Avertissement

  Avec quelques APIs (i.e. PHP-FPM), l'appel peut échouer si vous ne spécifiez pas le chemin complet.

`flags`

  Une constante parmi les constants EIO_O_*, ou bien une combinaison de ces constantes. Les constantes EIO_O_* ont la même signification que les constantes correspondantes O_* définies dans le fichier d'en-têtes C fnctl.h. Par défaut, vaut `EIO_O_RDWR`.

`mode`

  Une constante parmi les constantes EIO_S_I*, ou bien une combinaison de ces constantes (via l'opérateur OR). Les constantes ont la même signification que les constantes correspondantes S_I* définies dans le fichier d'en-têtes C » sys/stat.h. Requis si un fichier est créé. Sinon, il sera ignoré.

`pri`

  La priorité de la requête : `EIO_PRI_DEFAULT`, `EIO_PRI_MIN`, `EIO_PRI_MAX`, ou `NULL`. Si `NULL` est passé, le paramètre `pri`, en interne, est défini à `EIO_PRI_DEFAULT`.

  `data`

    représente les données personnalisées passées à la requête.

  `result`

    représente la valeur résultante spécifique à la requête ; basiquement, la valeur retournée par l'appel système correspondant.

  `req`

    est la ressource optionnelle de la requête qui peut être utilisée avec les fonctions comme eio_get_last_error()

`callback`

  La fonction de rappel `callback` est appelée lorsque la requête est terminée. Elle doit correspondre au prototype suivant :

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

  Variables arbitraires à passer à la fonction de rappel `callback`.

### Valeurs de retour

eio_open() retourne un descripteur de fichier dans l'argument `result` de la fonction de rappel `callback` en cas de succès ; sinon, `result` vaudra `-1`.

### Exemples

Exemple #1 Exempe avec eio_open()

`<?php
$temp_filename = "eio-temp-file.tmp";
/* Sera appelé lorsque la fonction eio_close() aura terminé */
function my_close_cb($data, $result) {
// Zéro indique une exécution avec succès
var_dump($result == 0);
@unlink($data);
}
/* Sera appelé lorsque la fonction eio_open() aura terminé */
function my_file_opened_callback($data, $result) {
// $result doit contenir le descripteur de fichier
var_dump($result > 0);
if ($result > 0) {
// Ferme le fichier
eio_close($result, EIO_PRI_DEFAULT, "my_close_cb", $data);
eio_event_loop();
}
}
// Crée un nouveau fichier pour lecture et écriture
// N'autorise pas les groupes et autres à faire ce que ce soit avec ce fichier
eio_open($temp_filename, EIO_O_CREAT | EIO_O_RDWR, EIO_S_IRUSR | EIO_S_IWUSR,
EIO_PRI_DEFAULT, "my_file_opened_callback", $temp_filename);
eio_event_loop();
?>`

L'exemple ci-dessus va afficher quelque chose de similaire à :

    bool(true)
    bool(true)

### Voir aussi

- eio_mknod

eio_nthreads
eio_poll
Fonctions Eio
PHP Manual