CakePHP 2.4.4 프로젝트에서 작업하고 있습니다. 그리고 다음과 같은 문제에 직면하고 있습니다. 내 업스트림 업로드 클래스가 새 이미지를 만드는 하나의 함수 newImage
을 호출합니다. 예를 들어 하나 이상의 이미지를 다섯 번 업로드하면이 함수는 다섯 번 연속 호출됩니다. 이 함수는 다음과 같은 코드를 포함합니다 :데이터베이스에 레코드를 저장할 시간이 충분하지 않습니다.
...
...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