1. 最近はIOS側との接続にPHPが使われており、複数の写真をアップロードする場合、APP側がバックグラウンドの一枚写真アップロードインターフェースをループで呼び出し、バックグラウンドが写真を保存してパスをデータベースに保存します。ただし、最終的には、データベース内に同じ写真が存在するのと同じ数の写真がアップロードされることになります。これは、インターフェイスが処理できる写真は 1 枚だけであることを意味します。
バックエンド コードは次のとおりです (まだ最適化されていません)
//$_FILES 配列をフォーマットします
結果は次のようになります:
これは確かに最適化されていないコードです。 。 。
コードの重要なステップ
$actualName = md5(time().substr(str_replace(" ", '_', $ext),5)).".".$ext;
time() + ext を介してパスを取得したら、
在同一秒内,相同后缀的不同图片上传
それが同じパスになることを考慮しましたかデータベースの結果を見ると、これが確認されています
解決方法
1. ミリ秒またはマイクロ秒まで正確ですが、重複の可能性もあります
2. パス生成に条件付き乱数を追加します。重複の可能性もあります
3.
uniqid
まあ、1+2+3を組み合わせましょう、繰り返しの確率が低すぎるので、コウモリでない限り、そのレベルで話しましょう