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