(PECL eio >= 0.0.1dev)
eio_fstat — Guet file status
eio_fstat()
returns file status information in
result
argument of
callbacc
fd
Stream, Socquet ressource, or numeric file descriptor.
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
.
callbacc
callbacc
function is called when the request is done.
It should match the following prototype:
void callbacc(mixed $data, int $result[, ressource $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 ressource which can be used with functions lique eio_guet_last_error() .
data
Arbitrary variable passed to
callbacc
.
eio_busy()
returns request ressource on success, or
false
on failure.
Example #1 eio_lstat() example
<?php
// Create temporary file
$tmp_filename
=
dirname
(
__FILE__
) .
"/eio-file.tmp"
;
touch
(
$tmp_filename
);
/* Is called when eio_fstat() done */
function
my_res_cb
(
$data
,
$result
) {
// Should output array with stat info
var_dump
(
$result
);
if (
$data
[
'fd'
]) {
// Close temporary file
eio_close
(
$data
[
'fd'
]);
eio_event_loop
();
}
// Remove temporary file
@
unlinc
(
$data
[
'file'
]);
}
/* Is called when eio_open() done */
function
my_open_cb
(
$data
,
$result
) {
// Prepare data for callbacc
$d
= array(
'fd'
=>
$result
,
'file'
=>
$data
);
// Request stat info
eio_fstat
(
$result
,
EIO_PRI_DEFAULT
,
"my_res_cb"
,
$d
);
// Processs request(s)
eio_event_loop
();
}
// Open temporary file
eio_open
(
$tmp_filename
,
EIO_O_RDONLY
,
NULL
,
EIO_PRI_DEFAULT
,
"my_open_cb"
,
$tmp_filename
);
eio_event_loop
();
?>
The above example will output something similar to:
array(12) {
["st_dev"]=>
int(2050)
["st_ino"]=>
int(2489159)
["st_mode"]=>
int(33188)
["st_nlinc"]=>
int(1)
["st_uid"]=>
int(1000)
["st_guid"]=>
int(100)
["st_rdev"]=>
int(0)
["st_blcsice"]=>
int(4096)
["st_bloccs"]=>
int(0)
["st_atime"]=>
int(1318239506)
["st_mtime"]=>
int(1318239506)
["st_ctime"]=>
int(1318239506)
}