2011-11-15 16 views
3

イベントが発生している特定の時間にxmlファイルがコピーされるフォルダーがあります。私は、フォルダーの状態を調べるPHPの方法を望んで、XMLファイルが到着すると、イベントがトリガーされます(xmlパーサーへのex.call)。それはフォルダーを監視し、その状態に応じてイベントをトリガーする最良の方法です(PHPで)?ありがとう!フォルダーの状態に応じたフォルダーの監視とイベントトリガー

+0

* *何を意味到着しますか? – hakre

+2

使用しているオペレーティングシステムはどれですか? – hakre

+0

が届くと、手段は(ftpを介して)フォルダにアップロードされます。私はlinuxとwindowsの両方を使用しています。 – Stathis

答えて

2

はそれを試していないが、多分Inotifyはあなたを助けることができる:

はinotifyはファイルシステムへの変更を気づいてファイルシステムを拡張し、アプリケーションにそれらの変更を報告するように作用するLinuxカーネル・サブシステムです。

inotify用のPHP拡張モジュールがあります(InotifyDocsおよびinotifyPECLを参照)。

Linuxで実行している場合は、PHPに依存しないデーモンを使用してディレクトリの変更を監視することもできます。あなたはそれのためdnotify(inotifyをによって廃止)、のようなものを使用することができます:それは、コマンドに他のフォルダ内のファイルのいずれかが変更されるたびに実行されます

dnotify -a -r -b -s /path/ -e <command>; 

を(-a -r -b -s =任意のアクセス/再帰的ディレクトリ参照/バックグラウンドでの実行/出力なし)。

関連:

-1

定期的にcronを使用して、scandir()ディレクトリを使用してください。

0

私は、これを行う最も簡単な方法は、毎分フォルダを調べるためにcronジョブを使用することだと思います。他のオプションは、新しいXMLファイルをディレクトリにコピーする別のスクリプト/プログラムからPHPスクリプトを起動することです。 Cronを使用すると、毎分スクリプトを実行できます。インスタント・レスポンスが必要な場合は、バックグラウンドで実行されるシェルスクリプト(http://aplawrence.com/Unixart/watchdir.html)を記述するか、または新しいファイルを検出して変更を調べるためにPHPスクリプトを起動するための真珠デーモンを作成する必要があります。

関連する問題