0

したがって、次のように、約 4k の画像を 1 つのディレクトリに保存したいと考えていますuploads/uniqid()./file.jpguploads/uniqid()./thumb/file.jpg

さて、問題は私がやりたい方法です。それが最善の方法だとは思いません。

4k 未満のイメージを含むアクティブ ディレクトリ名を格納するテーブルが必要です。

したがって、ユーザーが画像をアップロードすると、そのディレクトリに移動してファイルをカウントし、4k 未満の場合はそこに画像をアップロードします。ディレクトリに 4000 個の画像がある場合は、を使用して新しいディレクトリ名を作成しuniqid()、ファイルを新しいディレクトリに追加したら、テーブルも新しい Active Directory 名で更新します。

ユーザーが画像をアップロードするたびにファイルをカウントする必要があることを除けば、この解決策は問題ないと思いますが、どう思いますか?

4

1 に答える 1

0

ファイルをカウントする代わりに、カウンター (自動インクリメント) フィールドをテーブルに追加し、ユーザーがファイルをアップロードしたときにテーブルに行を挿入することもできます。次に、mysql_insert_id() を使用して、挿入した行の ID を取得できます。

次に、次を追加して、新しいディレクトリを作成する必要があるかどうかを確認します。

if((mysql_insert_id() % 4000) === 0) {
   //create new dir name
   //insert new dir name into table as active dirname
   //add image to new folder
}
else {
   //add image to active directory
}
于 2013-03-03T18:13:30.380 に答える