基本的に私はユーザーがファイルのアップロードに使用するシンプルなフォームを持っています。ファイルは、/ files /ディレクトリにいくつかのサブディレクトリとともに格納し、ファイルをほぼ均等に分割する必要があります。例えば/files/sub1/sub2/file1.txtdbなしでファイルを構造化する
また、同じファイルを(ファイル名で)保存しないでください。
私は自分の解決策を持っています。 filenameからsha1を計算します。最初の5つのシンボル、例えばabcdeをとり、/ files/a/b/c/d/e /に置くと良いですが、1つのフォルダに4kファイル、2番目の6kファイルが入っている場合があります。ファイル数を互いにもっと近づける方法はありますか?最大ファイル数は10kまたは10kkです。
ありがとうございました。
P.S.私は何か間違って説明しているので、もう一度:)タスクは単純です - あなたは自分自身のデータなしでアップロードされたファイルだけを格納する必要がありますhtmlとphp(任意のDBなし)とファイルディレクトリがあります。重複をファイル名で保存せずにファイルディレクトリへのアップロードを処理し、各ディレクトリ内のファイル数(各ディレクトリ内の最適なファイルとカウントファイルは互いに接近している必要があります)でサブディレクトリごとに分割したファイルを分割できるスクリプトを開発する必要があります。
私はそれについて心配しません。配布は、ハッシュの仕組みによってかなりランダムに行われるべきです。 – ceejayoz
タイムスタンプからsha1を計算する方が良いでしょうか? – neoneye
タイムスタンプは機能しません。ファイル名で重複したファイルをすばやく見つけなければなりません。既に存在する場合は、アップロードされたファイルを保存しません。 –