2013-01-09 106 views
1

是否有可能檢測到PHP中文件的修改?檢測文件的修改

特別是我正在尋找何時更新文件,但創建/保存/等會很好。

最終,我希望在我的服務器上觸發某種操作,以便在更新文件時發送電子郵件警報或類似的內容。

回答

1

filemtime應該做你想要

+0

這並沒有真正回答這個問題。 'filemtime'將允許您查看文件的修改時間,但不會「檢測」新的修改/新文件。你需要將它與類似cron工作的東西捆綁在一起。 –

+0

謝謝你的幫助。瀏覽用戶爲filemtime func提供了註釋,我發現了一些我可能能夠在cron上運行以獲得我想要的內容。 – Just2Jays

+0

@JonStirling對於每個解決方案('filemtime'或'md5_file()'),您都需要保持以前的狀態來檢測更改。 – KingCrunch

0

如果你想請檢查是否文件發生了改變,你可以記錄文件的MD5哈希值是什麼:

http://php.net/manual/en/function.md5-file.php

這裏是同一個問題:PHP folder watching on windows

了Ruby,Python或其他語言,你可以註冊文件系統中的守望者,讓你有一個推並沒有信息的拉動。但afaik對於PHP來說是不可能的。

+0

是的,我明白你在說什麼,並希望自己能有更多的推動方法。請欣賞幫助,我會看看可能設置一個python腳本。 – Just2Jays

1

對於cron-job-less方法,您可以查看ext/inotify。在那裏你註冊一個回調函數,並把整個過程放到一個讀循環中,如果發生一個事件(例如IN_CLOSE_WRITE),總會觸發回調。