<?php
// テンポラリファイルを作って何かを書き込みます
$temp_filename = "eio-temp-file.tmp";
$fp = fopen($temp_filename, "w");
fwrite($fp, "1234567890");
fclose($fp);
/* eio_read() が終わったら呼ばれます */
function my_read_cb($data, $result) {
global $temp_filename;
// 読み込んだデータを出力します
var_dump($result);
// ファイルを閉じます
eio_close($data);
eio_event_loop();
// テンポラリファイルを削除します
@unlink($temp_filename);
}
/* eio_open() が終わったら呼ばれます */
function my_file_opened_callback($data, $result) {
// $result にはファイルディスクリプタが含まれるはずです
if ($result > 0) {
// 3 バイト目から 5 バイト読みます
eio_read($result, 5, 2, EIO_PRI_DEFAULT, "my_read_cb", $result);
eio_event_loop();
} else {
// eio_open() が失敗
unlink($data);
}
}
// ファイルを読み書き用に開きます
eio_open($temp_filename, EIO_O_RDWR, NULL,
EIO_PRI_DEFAULT, "my_file_opened_callback", $temp_filename);
eio_event_loop();
?>