0

私は初心者/中級のPHPMySQL開発者です。

YiiまたはCodeigniterを使用してマルチユーザーWebアプリケーションを作成することを計画していた場合、ユーザーは独自のプライベートエリアとパブリックエリアを持っていました。写真やファイルをアップロードして、Web(ドキュメントなど)からアクセスできるようになります。

ファイルの最適な保存方法が気になります。それらのマルチサイト/ユーザーのウェブサイト(ワードプレス、ブロガー、フェイスブック)はどのようにそれを行いますか?

私は次のオプションを考えましたが、その方法が業界によって行われているかどうかはわかりません。

基本的に、ユーザーがアップロードしたファイルには3つの名前(元の名前と2つの新しい名前)を使用します

  1. ユーザーがファイル(画像、ドキュメントなど)をアップロードし、ファイルの名前を変更してフォルダーに保存し、元の名前を他のファイル属性とともにDBに保存します

  2. ファイルを表示するには、3番目を使用します。その場で新しい名前

このように、所有者だけが元の名前を知っており、誰も物理ファイル名を知りません。

  • これは行われている方法ですか、それとももっと簡単な方法がありますか?
  • ファイルの名前を変更したり、画像を再作成したりせずに、処理時間を増やすことなく、「仮想」の名前/パスでファイルを表示することは可能ですか?またはPHPには、実際のファイル名をブラウザに「表示しない」というネイティブな方法がありますか?
  • ユーザーは、実際のファイル名を処理せずに、Webアドレスを使用してファイルをどのように共有しますか?
  • 誰もファイルの物理的な名前を知っているとは思われていませんが、誰かがグーグルや他の知識のある興味のあるユーザーのように、ウェブを介してファイルを「検索」または見つけることができますか?

ありがとうございました

4

1 に答える 1

0

.htaccess を使用して、画像パスの URL を書き換えたり、代わりにフォルダーとファイル名をハッシュしたりすることができます。

ストレージは、作業するファイルの量によって異なります。Facebook などの大企業は、数百 (またはそれ以上!) のサーバーで作業しており、非常に専門的な保存方法を持っています。

通常の Web アプリの場合、単純なファイルまたはデータベース ストレージでおそらく十分でしょう。

于 2012-04-08T00:18:06.513 に答える