Reputation: 155
Hello I want uploaded files data in to database, but I got only one file data. All these files datas trying to go in to database but they use all same ID and thanks to this its writing this line over. How I get these all datas in to database ?
What Im trying to do :
if (!empty($this->request->data) && is_uploaded_file($this->request->data['UploadFile']['file_upload']['0']['tmp_name'])) {
$fileData = fread(fopen($this->request->data['UploadFile']['file_upload']['0']['tmp_name'], "r"), $this->request->data['UploadFile']['file_upload']['0']['size']);
$this->request->data['UploadFile']['name'] = $this->request->data['UploadFile']['file_upload']['0']['name'];
$this->request->data['UploadFile']['size'] = $this->request->data['UploadFile']['file_upload']['0']['size'];
$this->request->data['UploadFile']['URL'] = $this->request->data['UploadFile']['file_upload']['0']['tmp_name'];
$this->request->data['UploadFile']['data'] = $fileData;
$this->UploadFile->save($this->request->data);
}
if (!empty($this->request->data) && is_uploaded_file($this->request->data['UploadFile']['file_upload']['1']['tmp_name'])) {
$fileData1 = fread(fopen($this->request->data['UploadFile']['file_upload']['1']['tmp_name'], "r"), $this->request->data['UploadFile']['file_upload']['1']['size']);
$this->request->data['UploadFile']['name'] = $this->request->data['UploadFile']['file_upload']['1']['name'];
$this->request->data['UploadFile']['size'] = $this->request->data['UploadFile']['file_upload']['1']['size'];
$this->request->data['UploadFile']['URL'] = $this->request->data['UploadFile']['file_upload']['1']['tmp_name'];
$this->request->data['UploadFile']['data'] = $fileData1;
$this->UploadFile->save($this->request->data);
}
if (!empty($this->request->data) && is_uploaded_file($this->request->data['UploadFile']['file_upload']['2']['tmp_name'])) {
$fileData2 = fread(fopen($this->request->data['UploadFile']['file_upload']['2']['tmp_name'], "r"), $this->request->data['UploadFile']['file_upload']['2']['size']);
$this->request->data['UploadFile']['name'] = $this->request->data['UploadFile']['file_upload']['2']['name'];
$this->request->data['UploadFile']['size'] = $this->request->data['UploadFile']['file_upload']['2']['size'];
$this->request->data['UploadFile']['URL'] = $this->request->data['UploadFile']['file_upload']['2']['tmp_name'];
$this->request->data['UploadFile']['data'] = $fileData2;
$this->UploadFile->save($this->request->data);
}
I want to insert 3 files data in to database, but I get only one file data.
and result :
1 INSERT INTO `kontaktid`.`upload_files` (`name`, `size`, `URL`) VALUES ('add.JPG', 61020, 'C:\\wamp\\tmp\\php75DF.tmp')
2 SELECT COUNT(*) AS `count` FROM `kontaktid`.`upload_files` AS `UploadFile` WHERE `UploadFile`.`id` = 34
3 SELECT COUNT(*) AS `count` FROM `kontaktid`.`upload_files` AS `UploadFile` WHERE `UploadFile`.`id` = 34
4 SELECT COUNT(*) AS `count` FROM `kontaktid`.`upload_files` AS `UploadFile` WHERE `UploadFile`.`id` = 34
5 UPDATE `kontaktid`.`upload_files` SET `name` = 'empty rows.JPG', `size` = 73534, `URL` = 'C:\\wamp\\tmp\\php75F0.tmp' WHERE `kontaktid`.`upload_files`.`id` = '34'
6 SELECT COUNT(*) AS `count` FROM `kontaktid`.`upload_files` AS `UploadFile` WHERE `UploadFile`.`id` = 34
7 SELECT COUNT(*) AS `count` FROM `kontaktid`.`upload_files` AS `UploadFile` WHERE `UploadFile`.`id` = 34
8 SELECT COUNT(*) AS `count` FROM `kontaktid`.`upload_files` AS `UploadFile` WHERE `UploadFile`.`id` = 34
9 UPDATE `kontaktid`.`upload_files` SET `name` = 'vardump.JPG', `size` = 79107, `URL` = 'C:\\wamp\\tmp\\php75F1.tmp' WHERE `kontaktid`.`upload_files`.`id` = '34'
Thanks for helping !
Upvotes: 1
Views: 95
Reputation: 976
for every save, you should use $this->UploadFile->create();
, other wise it will only save one. so it'd be like this:
if (!empty($this->request->data) && is_uploaded_file($this->request->data['UploadFile']['file_upload']['0']['tmp_name'])) {
$fileData = fread(fopen($this->request->data['UploadFile']['file_upload']['0']['tmp_name'], "r"), $this->request->data['UploadFile']['file_upload']['0']['size']);
$this->request->data['UploadFile']['name'] = $this->request->data['UploadFile']['file_upload']['0']['name'];
$this->request->data['UploadFile']['size'] = $this->request->data['UploadFile']['file_upload']['0']['size'];
$this->request->data['UploadFile']['URL'] = $this->request->data['UploadFile']['file_upload']['0']['tmp_name'];
$this->request->data['UploadFile']['data'] = $fileData;
$this->UploadFile->create();
$this->UploadFile->save($this->request->data);
}
if (!empty($this->request->data) && is_uploaded_file($this->request->data['UploadFile']['file_upload']['1']['tmp_name'])) {
$fileData1 = fread(fopen($this->request->data['UploadFile']['file_upload']['1']['tmp_name'], "r"), $this->request->data['UploadFile']['file_upload']['1']['size']);
$this->request->data['UploadFile']['name'] = $this->request->data['UploadFile']['file_upload']['1']['name'];
$this->request->data['UploadFile']['size'] = $this->request->data['UploadFile']['file_upload']['1']['size'];
$this->request->data['UploadFile']['URL'] = $this->request->data['UploadFile']['file_upload']['1']['tmp_name'];
$this->request->data['UploadFile']['data'] = $fileData1;
$this->UploadFile->create();
$this->UploadFile->save($this->request->data);
}
if (!empty($this->request->data) && is_uploaded_file($this->request->data['UploadFile']['file_upload']['2']['tmp_name'])) {
$fileData2 = fread(fopen($this->request->data['UploadFile']['file_upload']['2']['tmp_name'], "r"), $this->request->data['UploadFile']['file_upload']['2']['size']);
$this->request->data['UploadFile']['name'] = $this->request->data['UploadFile']['file_upload']['2']['name'];
$this->request->data['UploadFile']['size'] = $this->request->data['UploadFile']['file_upload']['2']['size'];
$this->request->data['UploadFile']['URL'] = $this->request->data['UploadFile']['file_upload']['2']['tmp_name'];
$this->request->data['UploadFile']['data'] = $fileData2;
$this->UploadFile->create();
$this->UploadFile->save($this->request->data);
}
Hope it helps!
Upvotes: 1