Is there a way to detect changes in a folder using php on both windows and linux?

Ertunç picture Ertunç · Oct 21, 2012 · Viewed 8.5k times · Source

I'm looking for a solution to detect changes in folder(s) using php. The application may run on both platforms(linux and windows). I may use different methods for each platform as long as results are the same. What I desire is :

  1. If a file/folder is added to a directory, I want my app to detect this new file and read its attributes (size,filetime etc)
  2. If a existing file/folder is saved/contents changed/deleted, I need to detect this file is changed
  3. It would be better if I can monitor a base folder outside webroot of apache (such as c:\tmp, or d:\music on windows or /home/ertunc on linux)

I read something on inotify but I'm not sure it meets my needs.

Answer

Pekka picture Pekka · Oct 21, 2012

Monitoring the filesystem for changes is a task that should be solved outside PHP. It's not really built to do stuff like this.

There are ready-made tools on both platforms that can monitor file changes that could call a PHP file to do the further processing.

For Linux:

For Windows: