2

私のサイトの1つには多くのユーザーがいます。現在、それぞれに1つのプロフィール写真があります。物事を迅速かつ効率的に保つために、私はプロファイル画像をその固有のものに基づいて広げ、UserID1,000を超える要素を持つディレクトリがないようにしました。

ただし、ユーザーが自分のプロファイルにさらに多くの写真をアップロードできるようにしたいのですが、ユーザーごとに複数の画像がある場合に、これを整理して構造化する方法がわかりません。私は明らかに各ユーザーのアルバムを現在の一意のフォルダーの下に構造化しますが、どのようにしたらよいでしょうか。

データベースを使用して、各ユーザーが持っている画像の数を追跡しますか?各ファイルに1からいくつまで順番に名前が付けられていることを確認し、常にその順序で表示しますか(ユーザーが順序を変更した場合は、正しい順序で名前を変更するだけです)?それとも私はそれを他の方法で行いますか?

私が抱えている主な問題は、各ユーザーが持っている画像の数(特に、途中で1つまたは2つを削除した場合)、ユーザーの順序(変更可能)、および命名規則を把握して追跡することです。物事を速く、論理的かつ効率的に保ちながら、使用します。

これを行うための最良の方法は何ですか?

4

1 に答える 1

2

はい、データベーステーブルを使用します。ファイルがどこにあるかを確認する以外は、常にデータテーブルを使用して画像を検索して整理します。

ユーザーがファイルを追加します:

  1. ファイルをアップロードする
  2. UserIDとmicrotimeのハッシュを作成します
  3. hash.extを使用してディスクに書き込みます
  4. ファイルが存在することを確認します。
  5. データベースへの書き込み、imageID(pk)、userID、path / to / image.jpg、タイムスタンプ

ユーザーがファイルを削除します:

  1. ファイルがディスク上に存在することを確認します(渡されたimageIDに基づいてどこを検索します)
  2. クエリから選択したハッシュを使用してファイルを削除します(ファイル名を渡さないでください)
  3. データベースから行を削除します
于 2012-06-19T19:38:19.720 に答える