1

私は、リモートSMBサーバーを監視し、FTP経由でそのボックスにアップロードされている新しいファイルを検出する必要があるUnixマシンで実行されるPHPプロセスを作成しています。私ができる可能性は低いです

以下を検出する必要があります。

  1. 作成中の新しいファイル
  2. ファイルのアップロードが完了しました
  3. 削除されるファイル

NFS共有の場合は、FAMを使用してイベントを検出しようとしますが、同等の方法がわかりません。

4

1 に答える 1

1

私がプロダクションで使用するもののようには聞こえません。しかし、あなたはこのようなことを試すことができます:

  1. PHPデーモンを実行しているマシンにSambaとのSMB共有をマウントします
  2. SPL RecursiveIteratorIteratorとDirectoryIteratorを使用して、共有ドライブ上のすべてのファイルとフォルダーのリストを収集および維持します
  3. 時々フォルダリストを更新して現在の状態と比較します。ファイルがもう存在しない場合は削除されていることがわかります。新しいファイルがある場合はキューに入れて「アップロード中」としてマークします。
  4. 次の「更新実行」で、キューに入れられたファイルを確認します。ファイルサイズが変更されていない場合は、ファイルのアップロードが完了した可能性があります。ファイルサイズが変更された場合は、再度キューに入れて「アップロード中」としてマークします。
于 2009-11-02T10:57:47.153 に答える