从多维数组中提取值



我对php相当陌生。我使用以下脚本将多个图像上传到一个目录。脚本运行良好。问题是我不知道如何引用第二个图像,所以我可以将其存储在mysql数据库中。变量$filename存储数组的图像元素。我想添加第二个图像到列itm_pic_name2在我的mysql数据库。谁能给我指个正确的方向?

public function move($overwrite = false)
{
    $field = current($this->_uploaded);
    if (is_array($field['name'])) {
        foreach ($field['name'] as $number => $filename) {
            print_r($field);
            //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);
    }
}
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);
            echo $filename;
            echo $type;
            echo $size;
            $success = move_uploaded_file($tmp_name, $this->_destination . $name);
            if ($success) {
                //add the amended filename to the array of filenames
                $this->_filenames[] = $name;
                $this->execSQL("INSERT INTO itm_pic_detail(itm_pic_name, itm_pic_name2,itm_pic_type, itm_pic_size) VALUES (?,?,?)",
                               array('ssss', $filename, $not_sure_how_to_refence_this_image, $type, $size), true);
                $message = "$filename uploaded successfully";
            }
            if ($this->_renamed) {
                $message .= " and renamed $name";
            }
            $this->_messages[] = $message;
        } else {
            $this->_messages[] = 'Could not upload ' . $filename;
        }
    }
}

仅仅向数据库中添加一个itm_pic_name2列是不够的。数据库结构包含的不仅仅是文件名。它还包含大小和类型。相反,您应该在数据库中插入多行—每行插入一个文件。每次插入图片时,它都应该返回该文件的fileId。

本质上,您需要的是一个用于表单数据的数据表。这个表有两列。一个用于文件1。一个用于文件2。在该表中,存储每个文件的唯一文件id。然后,使用连接来获取所需的文件信息。

我不能确切地为你写出来,因为我不知道你想用这些文件做什么。但是,希望你可以把它作为一个开始并运行它

相关内容

  • 没有找到相关文章

最新更新