我真的希望有人能帮助我摆脱困境。我创建了一个类来上传存储在多维数组中的多个图像。图像将移动到选定的文件夹。我想将每个图像的细节存储在mysqli数据库中。每个图像应共享一个唯一的密钥,用于将其标识为特定产品。
itm_pic_details(images)表有5个字段
id自动增量id
itm_pic_id链接到产品的唯一ID
itm_pic_dsc文件名
itm_file_date添加日期
itm_file_user(不需要在此阶段填写。仅用于交易目的)
itm_file_path(图像的位置)
我在上传课程中包含了两个最重要的功能
protected function processFile($filename,$error,$size, $type,$tmp_name,$overwrite){
$OK = $this->checkError($filename,$error);
if ($OK) {
$sizeOK = $this->checkSize($filename, $size);
$typeOK = $this->checkType($filename, $type);
if ($sizeOK && $typeOK) {
$name = $this->checkName($filename, $overwrite);
$success = move_uploaded_file($tmp_name, $this->_destination . $name);
if ($success) {
$message = "$filename uploaded successfully";
if ($this->_renamed) {
$message .= " and renamed $name";
}
$this->_messages[] = $message;
} else {
$this->_messages[] = 'Could not upload ' . $filename;
}
}
}
}
public function move($overwrite = false) {
$field = current($this->_uploaded);
if(is_array($field['name'])){
foreach($field['name'] as $number => $filename){
//process the multiple upload
$this->_renamed = false;
$this->processFile($filename,$field['error'][$number],$field['size'] [$number],$field['type'][$number],$field['tmp_name'][$number], $overwrite);
}
} else {
$this->processFile($field['name'],$field['error'],$field['size'],$field['type'],$field['tmp_name'],$overwrite);
}
}