私はCakePHP 2.4.4でプロジェクトを進めています。そして、私は次の問題に直面しています:私のベンダーアップロードクラスは、新しい画像を作成する一つの関数newImage
を呼び出します。たとえば、複数のイメージを5回アップロードすると、この関数は5回連続して呼び出されます。この関数には次のようなコードが含まれています:データベースにレコードを保存するのに十分な時間がありません
...
...initializing Uploader class
...
//creating image
$this->Orderimage->create();
$data = array(
'order_id' => $order_id,
'filename' => $filename,
'date' => date('Y-m-d'),
'extension' => $result['ext'],
);
$this->Orderimage->save($data);
しかし、ここで私の問題に会う場所です。 4つ以上の画像をアップロードしようとしているときに、この機能を4回以上連続して呼び出すと、画像がアップロードされず、代わりに前の画像がアップロードされます。これは、これらの画像が同じファイル名になっているためです。しかし、ファイル名は最後に作成された画像+ 1によって与えられます。したがって、データベースが次回の到着時に画像を保存するのに十分な時間がないというバグがあります。そして、これが、別のイメージが別のイメージを上書きする理由です。どうすれば修正できますか?
あなたはファイルアップロードコードを共有していませんでした。 – tarikul05
@ tarikul05を理解するためのコードをもっと共有してください。アップローダの仕事の原則は、この関数を 'newImage'という行を何度も呼び出すことです。それで全部です。 – Vladislav
コードなし、助けなし、私は推測します。 – Mary