オンライン ファイル マネージャーのディレクトリにファイルを保存する

StackOverflow https://stackoverflow.com/questions/3560449

質問

私は、ユーザーが自分のアカウントにファイルをアップロードできるサイトを持っており、それらはリストに表示されます。すべてのユーザーのファイルは異なるサーバーに保存され、人気度に応じて移動します (ファイル ホスティング サイトです)。

ユーザーがファイルをフォルダーにグループ化できる機能を追加したいと考えています。従来の方法で、サーバー上のユーザーごとにハード ドライブ上に物理フォルダーを作成し、期待どおりにそれらを横断することができました。その欠点は、ユーザーのファイルが単一のサーバーにバインドされることです。そのサーバーでスペースが不足し始めた場合 (または、同時に多くのファイルが使用されるようになった場合)、スペースを軽減するのは非常に困難になります。

私がやろうと考えたのは、ファイルのステートレスな性質を維持し、ファイルをどのファイル サーバーにも保存できるようにし、データベース内の各ファイルにフォルダー ID (ファイルを所有するユーザー ID に加えて) を単純に保存することです。したがって、ユーザーがファイルを移動することにした場合、ファイルは物理的にどこにも移動されず、データベース内のフォルダー ID を変更するだけです。

それは良い考えですか?phpとmysqlを使用します。

役に立ちましたか?

解決

はい、そうです。

データベースへのクエリが増える可能性があることを除けば、欠点は見当たりません。ただし、親フォルダー ID のインデックスを適切に作成すると、ファイル システムに直接アクセスするよりも高速になる可能性があります。

他のヒント

フォルダーのことは忘れて、ユーザーに任せましょう 鬼ごっこ ファイルごとに複数のタグが付いています。それから彼らに見てもらいましょう X タグが付いたファイル. 。これは、仮想フォルダーと実装方法に大きな違いはありませんが、ユーザーにとってははるかに柔軟です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top