当前位置: 首页 > 知识库问答 >
问题:

如何使用codeigniter将两个图像上载到两个字段

子车俊哲
2023-03-14

我想上传两个或更多的图片,使用一个表单在不同的领域到数据库使用Codeigniter。

但是这里只有一个正在上传...有人能帮我吗...

我的控制器


class Products extends CI_Controller {

       public function __construct()
        {
                // Call the CI_Model constructor
                parent::__construct();

                $this->load->model('Product_model');


        }

    public function save()
            {
                    $config['upload_path']          = './uploads/';
                    $config['allowed_types']        = 'jpg|png';
                    $config['max_size']             = 5024;
                    $config['encrypt_name']         =TRUE;  


                    $this->load->library('upload', $config);

                    if ( ! $this->upload->do_upload('userfile'))
                    {
                            $error = array('error' => $this->upload->display_errors());

                            echo var_dump($error ); die;
                    }
                    else
                    {

                        $file_data = array('upload_data' => $this->upload->data());

                    if($this->Product_model->addProducts($file_data))
                    {


                        $this->load->view('success_view');
                    }
                    else
                    {


                        $this->load->view('failure_view');
                    }
                }

这是我的模型


    public function addProducts($file_data)
            {
                    $data=array(
                            'pr_name'=>$_POST['pr_name'],

                            'pr_code'=>$_POST['pr_code'],



                            'photo_file'=>$file_data['upload_data']['file_name'],
                            'photo_file2'=>$file_data['upload_data']['file_name'],


                            );

                    return $this->db->insert('products', $data);
            }

这是我的看法

    <div class="container">

<div class="row">
    <div class="col-md-6">
        <form class="form-horizontal" method="post" enctype="multipart/form-data" action="<?php echo site_url('Products/save');?>">
          <div class="form-group">
            <label for="exampleInputEmail1">Product Name</label>
            <input type="text" name="pr_name" class="form-control" id="exampleInputEmail1" placeholder="Product Name">
          </div>
          <div class="form-group">
            <label for="exampleInputPassword1">Product Model</label>
            <input type="text" name="pr_code" class="form-control" id="exampleInputPassword1" placeholder="Product Model">
          </div>

          <div class="form-group">
            <label for="exampleInputFile">Product Image 1</label>
            <input type="file" name="userfile" id="exampleInputFile" >

          </div>

          <div class="form-group">
            <label for="exampleInputFile">Product Image 2</label>
            <input type="file" name="userfile2" id="exampleInputFile" >

          </div>




          <button type="submit" class="btn btn-default">Submit</button>
        </form>
    </div>
</div>

我的数据库

CREATE TABLE `products` (
  `pr_id` int(5) NOT NULL,
  `pr_name` varchar(200) NOT NULL,
  `pr_code` varchar(200) NOT NULL,
  `photo_file` varchar(255) NOT NULL,
  `photo_file2` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

请帮我上传到单独的数据库字段作为两个单独的文件

共有1个答案

周作人
2023-03-14

使用此功能并享受;)

public function save() {
  $data = array();

  $config['upload_path'] = './uploads/';
  $config['allowed_types'] = 'jpg|png';
  $config['max_size'] = 5024;
  $config['encrypt_name'] = true;  

  $this->load->library('upload', $config);

  $data['pr_name'] = $this->input->post('pr_name');
  $data['pr_code'] = $this->input->post('pr_code');

  if (!$this->upload->do_upload('userfile')) {
    $error = array('error' => $this->upload->display_errors());
  } else {
    $fileData = $this->upload->data();
    $data['userfile'] = $fileData['file_name'];
  }

  if (!$this->upload->do_upload('userfile2')) {
    $error = array('error' => $this->upload->display_errors()); 
  } else {
    $fileData = $this->upload->data();
    $data['userfile2'] = $fileData['file_name'];
  }
  // Verify the data using print_r($data); die;
  $result = $this->Product_model->addProducts($data);
  if ($result) {
    $this->load->view('success_view');
  } else {
    $this->load->view('failure_view');
  }
}
 类似资料:
  • 问题内容: 我正在寻找一种比较两个图像以查看它们有多相似的方法。谷歌搜索它会产生大量的图像处理结果(裁剪,调整大小等),但是没有什么可以做图像的近似比较。有一个Node.js库,但是它的版本为0.0.1,并且依赖于各种第三方系统软件包,因此不稳定或可移植。 遵循以下原则: 问题答案: 有node-opencv模块,您可以使用它来执行繁重的操作,例如图像比较。 屏幕截图或图标可以变形(缩放,旋转,倾

  • 我有两个数字字段来收集用户的数据。需要使用codeigniter表单验证类对其进行验证。 条件: 第一个字段可以为零 第二字段不能为零 第一字段不应等于第二字段 第二字段应大于第一字段 目前我使用 美元这个- 美元这个- 但是,如何验证上述第3和第4个条件? 提前谢谢。

  • 请帮助我提供一个解决方案,通过使用SeleniumRubyWebDriver比较Web应用程序的两个URL中的两个图像是否相同(我的意思是每个图像中的内容都相同)。 例如:访问下面的网址时,我有一个小图像显示: 访问下面的URL时,我还有另一个图像: 我怎样才能比较这两个图像,看看他们是否是相同的使用Selenium Ruby WebDrive?任何建议都很感激。非常感谢。

  • 我有两个日期字段来收集用户的数据。需要使用codeigniter表单验证类来验证它。 场景: > 第一个日期字段可以为空 第二个日期字段不能为空 第一个日期字段不应大于今天的日期 第二个日期字段应大于第一个日期字段 美元这个- 美元这个- 回调函数是:

  • 我正在尝试使用CSS或jQuery在两个图像之间不断切换。我的工作还可以,但它基本上是把一个图像放在另一个上面,如果我使用的图像是透明的,这会引起问题。 null null 代码编号:https://codepen.io/rhys_eng/pen/nwdwxao

  • 我有两个关于存储在两个单独图像中的数据的绘图。我需要把它们放在一张图片中,这样我才能看到它们的区别。如何在javaFX中实现这一点?