eio_fstat
(PECL eio >= 0.0.1dev)
eio_fstat — Récupère le statut d'un fichier
Description
eio_fstat() retourne les informations quant au
statut d'un fichier dans l'argument result
de la fonction de rappel callback
Liste de paramètres
-
fd
-
Un flux, une ressource de socket, ou un descripteur de fichier.
-
pri
-
La priorité de la requête :
EIO_PRI_DEFAULT
,EIO_PRI_MIN
,EIO_PRI_MAX
, ouNULL
. SiNULL
est passé, le paramètrepri
, 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_busy() retourne la ressource
demandée en cas de succès, ou FALSE
si une erreur survient.
Exemples
Exemple #1 eio_lstat() example
<?php // Crée un fichier temporaire $tmp_filename = dirname(__FILE__) ."/eio-file.tmp"; touch($tmp_filename); /* Sera appelé lorsque la fonction eio_fstat() aura terminé */ function my_res_cb($data, $result) { // Devrait afficher un tableau contenant les informations de statut var_dump($result); if ($data['fd']) { // Ferme le fichier temporaire eio_close($data['fd']); eio_event_loop(); } // Supprime le fichier temporaire @unlink($data['file']); } /* Sera appelé lorsque la fonction eio_open() aura terminé */ function my_open_cb($data, $result) { // Prépare les données pour la fonction de rappel $d = array( 'fd' => $result, 'file'=> $data ); // Demande les informations de statut eio_fstat($result, EIO_PRI_DEFAULT, "my_res_cb", $d); // Exécute les demandes eio_event_loop(); } // Ouvre le fichier temporaire eio_open($tmp_filename, EIO_O_RDONLY, NULL, EIO_PRI_DEFAULT, "my_open_cb", $tmp_filename); eio_event_loop(); ?>
L'exemple ci-dessus va afficher quelque chose de similaire à :
array(12) { ["st_dev"]=> int(2050) ["st_ino"]=> int(2489159) ["st_mode"]=> int(33188) ["st_nlink"]=> int(1) ["st_uid"]=> int(1000) ["st_gid"]=> int(100) ["st_rdev"]=> int(0) ["st_blksize"]=> int(4096) ["st_blocks"]=> int(0) ["st_atime"]=> int(1318239506) ["st_mtime"]=> int(1318239506) ["st_ctime"]=> int(1318239506) }
Voir aussi
- eio_lstat
- eio_stat