gpt4 book ai didi

php - CakePHP多文件上传字段只上传一张图片

转载 作者:搜寻专家 更新时间:2023-10-31 21:15:32 24 4
gpt4 key购买 nike

我正在尝试使用多个上传文件字段上传一些文件。 POST 信息被正确发送,如下所示:

Array
(
[Uploads] => Array
(
[photos] => Array
(
[0] => Array
(
[name] => image - Copy - Copy.jpg
[type] => image/jpeg
[tmp_name] => /tmp/phpALAMwT
[error] => 0
[size] => 60892
)

[1] => Array
(
[name] => image - Copy.jpg
[type] => image/jpeg
[tmp_name] => /tmp/phpoIGtta
[error] => 0
[size] => 60892
)

[2] => Array
(
[name] => image.jpg
[type] => image/jpeg
[tmp_name] => /tmp/phpERTogu
[error] => 0
[size] => 60892
)

)

然后我遍历并将每个插入到数据库中,然后使用数据库中的 ID 上传它们,如下所示:

// Upload Photos
if (!empty($this->request->data['Uploads']['photos'][0]['tmp_name'])){

foreach($this->request->data['Uploads']['photos']as $photo){

$property_id = $this->request->data['Property']['ID'];
$file_name = $photo['name'];
$file_size = $photo['size'];
$file_ext = pathinfo($photo['name'], PATHINFO_EXTENSION);

// Save to DB
$this->Property->PropertyImage->save(array(
'PropertyImage' => array("Live"=>1, 'Number'=>99, "Type"=>'L', "FileType"=>$file_ext, "PropertyID"=>$property_id, 'Source'=>$file_name, 'Size=>'.$file_size)
));

// Upload
$id = $this->Property->PropertyImage->getLastInsertID();
$path = intval($id/1000) . '/' . $id . '.' . $file_ext;
move_uploaded_file($photo['tmp_name'], $_SERVER['DOCUMENT_ROOT'].'/imgp/F/'.$path);

}
}

但每次只有一张图片被放入数据库并上传,无法弄清楚为什么外观不正确。

有什么想法吗?谢谢。

最佳答案

在该行之前你调用了 save()

$this->Property->PropertyImage->save(...)

打电话

$this->Property->PropertyImage->create();

告诉模型写一个新记录而不是继续使用刚保存的记录。

关于php - CakePHP多文件上传字段只上传一张图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9637450/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com