検索

ホームページ  >  に質問  >  本文

php - モバイル端末に複数の写真をアップロードしますが、バックグラウンドで処理されるのは 1 枚だけです

1. 最近はIOS側との接続にPHPが使われており、複数の写真をアップロードする場合、APP側がバックグラウンドの一枚写真アップロードインターフェースをループで呼び出し、バックグラウンドが写真を保存してパスをデータベースに保存します。ただし、最終的には、データベース内に同じ写真が存在するのと同じ数の写真がアップロードされることになります。これは、インターフェイスが処理できる写真は 1 枚だけであることを意味します。
バックエンド コードは次のとおりです (まだ最適化されていません)
//$_FILES 配列をフォーマットします

リーリー

結果は次のようになります:

伊谢尔伦伊谢尔伦2786日前510

全員に返信(1)返信します

  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-24 11:32:54

    これは確かに最適化されていないコードです。 。 。

    コードの重要なステップ
    $actualName = md5(time().substr(str_replace(" ", '_', $ext),5)).".".$ext;

    time() + ext を介してパスを取得したら、在同一秒内,相同后缀的不同图片上传それが同じパスになることを考慮しましたか

    データベースの結果を見ると、これが確認されています

    解決方法
    1. ミリ秒またはマイクロ秒まで正確ですが、重複の可能性もあります
    2. パス生成に条件付き乱数を追加します。重複の可能性もあります
    3. uniqid まあ、1+2+3を組み合わせましょう、繰り返しの確率が低すぎるので、コウモリでない限り、そのレベルで話しましょう

    返事
    0
  • キャンセル返事