【问题标题】:upload files with 2 seperate input fields上传带有 2 个单独输入字段的文件
【发布时间】:2017-01-12 15:34:23
【问题描述】:

用户可以在表单中输入全名、年龄、个人资料图片、文件并提交。我设法让表单与一个文件上传一起工作,但我找不到从 2 个不同输入上传文件的正确方法。

下面是我的表格

HTML

<form enctype="multipart/form-data" action="" method="post">

           <div class="form-group">
                <label>Name</label>
                <input type="text" class="form-control" name="full_name"/>
            </div>
           <div class="form-group">
                <label>Age</label>
                <input type="text" class="form-control" name="age"/>
            </div>
           <div class="form-group">
                <label>Choose Profile pic</label>
                <input type="file" class="form-control" name="userfile1"/>
            </div>

            <div class="form-group">
                <label>Choose Document</label>
                <input type="file" class="form-control" name="userfile2"/>
            </div>
            <div class="form-group">
                <input class="form-control" type="submit" name="upload" value="UPLOAD"/>
            </div>
        </form>

PHP

if ($this->input->post('upload'))
        {

            $config['upload_path']          = './uploads/';
            $config['allowed_types']        = 'gif|jpg|png|doc|docx|pdf';
            $config['max_size']             = 10000;
            $config['max_width']            = 3000;
            $config['max_height']           = 3000;

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

            if ( !$this->upload->do_upload('userfile1'))
            {


                $this->session->set_flashdata('status','<div class="alert alert-danger alert-style-square">
                                            <p style="text-align:center">There was an error. Try again. '.$this->upload->display_errors().'</p>
                                        </div>');

            }
            else
            {
                $data = array('upload_data' => $this->upload->data());

                $values = array('full_name'=>$this->input->post('full_name'),
                        'age'=>$this->input->post('age'),
                        'profile_image'=>$this->upload->data('file_name'),
                        //'document'=>$this->upload->data('file_name'),
                        'uploaded_date'=>date("Y-m-d H:i:s"));



                var_dump($values);

            }

    }

我们将非常感谢您的帮助和指导

【问题讨论】:

    标签: php codeigniter file-upload


    【解决方案1】:

    你可以尝试改变

    if ( !$this->upload->do_upload('userfile1'))
    

    if ( !$this->upload->do_upload('userfile1') AND !$this->upload->do_upload('userfile2'))
    

    这样做需要用户上传两张图片。如果只需要一张图片,您可以尝试将 AND 更改为 OR

    【讨论】:

    • 谢谢...但是如何单独获取文件名?
    • 看来你应该使用'profile_image'=&gt;$this-&gt;upload-&gt;data('userfile1'),'document'=&gt;$this-&gt;upload-&gt;data('userfile2'),
    猜你喜欢
    • 1970-01-01
    • 2017-10-27
    • 2011-07-02
    • 2012-09-16
    • 1970-01-01
    • 2016-07-22
    • 2013-10-18
    • 2016-07-05
    • 1970-01-01
    相关资源
    最近更新 更多