inotifyPECL 拡張機能を使用して、PHP で記述されたファイル監視デーモンに取り組んでいます。イベントがいつ発生したかを教えてくれるので、ほぼ完成しましたinotify。
の戻り値inotify_read($fd)は、次のような配列です。
Array
(
[0] => Array
(
[wd] => 2
[mask] => 1073741840
[cookie] => 0
[name] => collaphoto
)
[1] => Array
(
[wd] => 2
[mask] => 1073741856
[cookie] => 0
[name] => filewatcher
)
[2] => Array
(
[wd] => 2
[mask] => 1073741840
[cookie] => 0
[name] => filewatcher
)
)
私が正しく理解していれば、各サブ配列は個々のイベントであり、そのイベントに関する情報が含まれています。wdは inotify インスタンスの記述子、maskはイベントをトリガーしたフラグの整数値です。たとえばIN_ATTRIB、 またははIN_ACCESS、cookieこのイベントをキュー内の別のイベントに接続するための一意の ID であり、name変更されたディレクトリまたはファイルです。はname、ディレクトリが によって監視されている場合にのみ指定されinotifyます。
mask私の質問は、指定された値に基づいてイベントをトリガーしたビットマスクをどのように把握するのですか? 私はまだビット マスクの扱いにかなり慣れていないので、気楽にやってください。