2012-01-11 8 views
0

データベース内のディレクトリ内のファイルパスを再帰的に更新する必要があります。ディレクトリに変更を加えた場合と同様に、データベース内で更新する必要があります。 PHPとMySQLを使用してこれを行うための最良かつ最速の方法は何ですか? MySQLデータベースでメインディレクトリのファイルとサブディレクトリをデータベースと比較するアルゴリズム

+1

質問は何ですか? –

+0

['Inotify'](http://www.php.net/manual/en/book.inotify.php)の拡張機能をご覧ください。 – lonesomeday

答えて

0

あなたはこれらのテーブルを持っている必要があります。

Directory{ 
    directory_id: integer; 
    directory_name: varchar; 
    directory_path: varchar; 
    parent_id: fk_to_directoy_id; 
} 

File{ 
    file_id: integer; 
    file_name: varchar; 
    directory_id: fk_to_directory_id; 
} 

あなたは階層ディレクトリ構造を構築し、そのディレクトリにファイルを添付できるようにします。

次に、これらのテーブルを管理するためにPHPでバックエンドが必要です。 (簡単にするためのフレームワークを参照してください)

あなたのお役に立てば幸いです。がんばろう。

+0

実際に私のデータベースには同様の構造が使用されていますが、問題は、ディレクトリ内の各アップデートにあります。これは、すべてのサブディレクトリをスキャンし、アップデートをデータベースに保存するのに多くの時間がかかります。ディレクトリサイズはギガバイトになり、いくつかのファイルは2GB程度です。また、ディレクトリはDropBoxのようなリモートサーバー上にあります。現在、私はPHPのDirectoryIteratorクラスを使用して、ディレクトリからファイルパスを取得し、更新をチェックするためにそれをデータベースにマッピングしています – user434509

関連する問題