0

ユーザー用のファイル、リソースマネージャーを作成します。私のウェブサイトは、ユーザーがブログ、ウェブサイトを作成し、ユーザーがリソースをアップロードできるようにするサービスを提供します。以下のようなフォルダ構造を作成します。なにか提案を?

usercontents
--user1
----folder1
----folder2
--user2
--user3
----my images

データベースを使用してこれらのファイルのインデックスを作成する必要がありますか?

4

2 に答える 2

1

インターフェイスを介して追加されたファイルのみが表示されるため、データベースを使用することは理にかなっています (実際のファイル システムではなく、データベースからファイル リストを読み取っていると仮定します)。

于 2010-09-06T09:26:00.220 に答える
1

このようなことをする場合、まず次のことを行います。

  • ファイルの種類を指定したいくつか (画像、mp3、mp4、おそらく swf) に制限します。
  • ユーザー名を正規化するか、英数字に制限して、ユーザー名のフォルダーが競合しないようにします。
  • my awesome mp3 file (some comment here).mp3に変わるようにファイル名を正規化しますmy-awesome-mp3-file-some-comment-here.mp3
  • ファイル名の競合をチェックして、ユーザーが以前のファイルと同じ名前のファイルをアップロードした場合に上書きが発生しないようにします (重複screenshot.pngを に変換しscreenshot-2.pngます)。
  • サブフォルダーの処理をデータベースに確実に移動し、ユーザーディレクトリのファイル構造をフラットのままにします。

さらなる最適化:

  • ファイルシステムに重複ファイルを保存しないように、ファイルチェックサムをデータベースに保存します。重複チェックを自分のファイルに制限します。

私はコミュニティ主導のファイル共有 Web サイトを作成しましたが、それが示されていると思います。:)

于 2010-09-06T09:27:06.960 に答える