2

ユーザーのホーム ディレクトリにあるすべてのファイルを表示する PHP でアプリケーションを作成しました。このディレクトリは samba 経由でも利用できるため、Windows、Mac、および Linux のネイティブ エクスプローラーからアクセスできます。すべてのファイルにタグを割り当てることができるように、すべてのファイルに ID を付けたいと思いました。ファイルのハッシュを作成し、それが同じファイルハッシュであるかどうかを調べて、同じファイルであると結論付けますか?

ファイルまたはフォルダーが移動されるたびに、何かを送信するように samba をトリガーできますか?

4

2 に答える 2

0

プラットフォームが Linux で、インストールがかなり最近の場合、inotify を使用して、ファイルシステムの変更が行われたときに PHP コードを呼び出すことができます。PHP マニュアルの次の部分を参照してください。

http://us3.php.net/manual/en/book.inotify.php

基本的な使用法は、PHP コードへのコールバックを使用して Samba ディレクトリにウォッチャーを追加することです。パフォーマンス上の理由から、関心のある種類の更新のみをコードに送信するよう inotify に指示できるかどうかを確認することをお勧めします。

ただし、inotify は一定期間後に更新やメッセージをドロップすることに注意してください。そのため、ある時点で同期を維持するのに問題が発生します。1 つの解決策は、継続的に inotify を使用し、定期的に各ホームのフル スキャンを実行して、データベース (またはタグが保存されている場所) が反映されていることを確認することです。

于 2009-06-15T18:37:16.110 に答える