私は次のコード競合状態
$date = date('U');
$user = $_SERVER[REMOTE_ADDR];
$filename = md5($date.$user);
問題にアップロードされたファイルの一意のファイル名を生成していますを作成することなく、アップロードに時間ベースの一意のファイル名を生成すると、私は再びこのファイル名を使用したいということですスクリプトで後で実行されますが、スクリプトの実行に2分の1がかかる場合は、2回目に別のファイル名を取得します。
たとえば、アップロード/サイズ変更/保存画像アップロードスクリプトを使用しています。スクリプトの最初の操作は、リサイズされたイメージをコピーして保存することです。これは、日付関数を使用して一意の名前を割り当てます。スクリプトは保存を処理し、アップロード全体を保存し、名前を割り当てます。スクリプトの最後に($thumb
と$full
が変数です)、私はMySQLデータベースに、私がアップロードを保存したときに使用したファイル名を挿入する必要があります。
問題は時として大きな画像に、それは別のファイル名で作成されたファイルは、実際の下に保存されているものよりも、データベースの中に置かれて秒以上を要する(変更秒または処理中)、です。
この名前付け方法を使用するのは良い考えではありませんか?
これは「固有の名前の生成方法」ではなく、「名前を2回生成するのを防ぐ方法」という実際の問題に対処しているようです。 – Lucky