PHP - inotify 函式



inotify 擴充套件可以公開 inotify 函式:inotify_init()、inotify_add_watch() 和 inotify_rm_watch()。

由於 C 的 inotify_init() 函式返回一個檔案描述符,因此 PHP 的 inotify_init() 函式返回一個可以使用標準流函式的流資源:stream_select()、stream_set_blocking() 和 fclose()。inotify_read() 可以替代 C 讀取 inotify 事件的方式。

此擴充套件可能需要 Linux 2.6.13 或更高版本以及最新的 libC。

此擴充套件沒有可以在 php.ini 中定義的配置指令。

此擴充套件可以定義一個由 inotify_init() 函式返回的流資源。

預定義常量

此擴充套件定義如下常量,僅當擴充套件已編譯到 PHP 中或在執行時動態載入時才可用。

Inotify 常量可與 inotify_add_watch() 一起使用和/或由 inotify_read() 返回。

  • IN_ACCESS (整數) − 訪問(讀取)檔案 (*)

  • IN_MODIFY (整數) − 修改檔案 (*)

  • IN_ATTRIB (整數) − 元資料更改(例如許可權、mtime 等) (*)

  • IN_CLOSE_WRITE (整數) − 開啟寫入的檔案已關閉 (*)

  • IN_CLOSE_NOWRITE (整數) − 未開啟寫入的檔案已關閉 (*)

  • IN_OPEN (整數) − 檔案已開啟 (*)

  • IN_MOVED_TO (整數) − 檔案移動到監視目錄 (*)

  • IN_MOVED_FROM (整數) − 檔案移出監視目錄 (*)

  • IN_CREATE (整數) − 在監視目錄中建立檔案或目錄 (*)

  • IN_DELETE (整數) − 在監視目錄中刪除檔案或目錄 (*)

  • IN_DELETE_SELF (整數) − 已刪除監視檔案或目錄

  • IN_MOVE_SELF (整數) − 已移動監視檔案或目錄

  • IN_CLOSE (整數) − 等於 IN_CLOSE_WRITE | IN_CLOSE_NOWRITE

  • IN_MOVE (整數) − 等於 IN_MOVED_FROM | IN_MOVED_TO

  • IN_ALL_EVENTS (整數) − 以上所有常量的位掩碼

  • IN_UNMOUNT (整數) − 包含監視物件的 檔案系統已解除安裝

  • IN_Q_OVERFLOW (整數) − 事件佇列溢位(此事件的 wd 為 -1)

  • IN_IGNORED (整數) − 已刪除監視(透過 inotify_rm_watch() 顯式刪除,或者因為檔案已刪除或檔案系統已解除安裝)

  • IN_ISDIR (整數) − 此事件的主題是一個目錄

  • IN_ONLYDIR (整數) − 如果它是一個目錄,則只監視路徑名(自 Linux 2.6.15 起)

  • IN_DONT_FOLLOW (整數) − 如果它是一個符號連結,則不要取消路徑名引用(自 Linux 2.6.15 起)

  • IN_MASK_ADD (整數) − 如果路徑名已存在,則將事件新增到此路徑名的監視掩碼(而不是替換掩碼)。

  • IN_ONESHOT (整數) − 監視路徑名的一個事件,然後從監視列表中移除。

序號 函式和描述
1

inotify_add_watch()

函式可將監視新增到已初始化的 inotify 例項。

2

inotify_init()

函式可初始化 inotify 例項。

3

inotify_queue_len()

如果存在掛起的事件,則函式返回大於零的數字。

4

inotify_read()

函式可從 inotify 例項讀取事件。

5

inotify_rm_watch()

函式可從 inotify 例項中刪除現有的監視。

php_function_reference.htm
廣告