2024 年 PHP Conference Japan

預定義常數

以下常數由此擴充定義,並且僅在擴充已編譯到 PHP 中或在執行階段動態載入時才會可用。

可與 inotify_add_watch() 搭配使用和/或由 inotify_read() 返回的 Inotify 常數
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 (整數)
所有上述常數的位元遮罩 (Bitmask)
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 (整數)
監控路徑名稱的一個事件,然後從監控清單中移除。

注意 標有星號 (*) 的事件可能會發生在被監控目錄中的檔案上。

新增註解

使用者貢獻的註解 2 則註解

7
crownedgrouse
15 年前
使用 IN_MODIFY 時要小心

許多 UNIX 編輯器,例如 'vi',會在 'xxx~' 檔案中作業,並且在儲存或儲存並關閉時將變更寫入 'xxx'。

如果在 'xxx' 上進行監控,在未儲存時不會發生 IN_MODIFY 事件!

在這種情況下,建議使用 IN_CLOSE_WRITE。
4
rogere84 at gmail dot com
10 年前
我注意到常數的值似乎遺失了。誠然,這些值可能會根據版本而改變,但在我的系統上,以下是這些值(如果您需要的話)。

IN_ACCESS = 1
IN_MODIFY = 2
IN_ATTRIB = 4
IN_CLOSE_WRITE = 8
IN_CLOSE_NOWRITE = 16
IN_OPEN = 32
IN_MOVED_FROM = 64
IN_MOVED_TO = 128
IN_CREATE = 256
IN_DELETE = 512
IN_DELETE_SELF = 1024
IN_MOVE_SELF = 2048
IN_UNMOUNT = 8192
IN_Q_OVERFLOW = 16384
IN_IGNORED = 32768
IN_CLOSE = 24
IN_MOVE = 192
IN_ALL_EVENTS = 4095
IN_ONLYDIR = 16777216
IN_DONT_FOLLOW = 33554432
IN_MASK_ADD = 536870912
IN_ISDIR = 1073741824
IN_ONESHOT = 2147483648
To Top