Codeigniter上传多张图片

时间:2020-06-12 07:01:05

标签: php jquery file codeigniter upload

我有一个表单包含用于图像上传的多个输入。 它是一个jQuery File Upload库 如何使用不同的输入文件上传多张图像。 我不使用WANNA SINGLE输入来选择多个文件。 每个图像应从不同的输入上传。

这是我的HTML

<label>Upload Question Image</label>
<div id="questionImageUploader">Upload Question Image</div>
<br>
<label>Upload Option A Image</label>
<div id="questionOptionAUploader">Upload Option A Image</div>
<br>
<label>Upload Option B Image</label>
<div id="questionOptionBUploader">Upload Option B Image</div>
<br>
<label>Upload Option C Image</label>
<div id="questionOptionCUploader">Upload Option C Image</div>
<br>
<label>Upload Option D Image</label>
<div id="questionOptionDUploader">Upload Option D Image</div>

这是触发上传的脚本。

通知:我使用相同的网址上传所有文件。只需帮助我处理我的php文件,我将如何将所有这些文件保存在那里,因为每个文件都有不同的名称。

 <script type="text/javascript">

          var testSelected = false;
          var testCatgeorySelected = false;
          var checkFilesUploaded = false;
          var questionImageFileUploadStatus = false;
          var optionAFileUploadStatus = false;
          var optionBFileUploadStatus = false;
          var optionCFileUploadStatus = false;
          var optionDFileUploadStatus = false;

          // UPLOAD QUESTION IMAGE
          var questionImageUploader = $('#questionImageUploader').uploadFile({
             url:"admin/teaching-test/TeachingTest/insert_question",
                  fileName: "questionImage",
                  multiple:false,
                  maxFileCount:1,
                  showAbort:true,
                  showPreview:true,
                  previewHeight: "120px",
                  previewWidth: "90px",
                  autoSubmit:false,
                  dynamicFormData: function()
                  {
                    var data ={ 
                      'questionEng':$('#questionEng').val(),
                      'questionHindi':$('#questionHindi').val(),
                      'questionOptionAEng':$('#questionOptionAEng').val(),
                      'questionOptionBEng':$('#questionOptionBEng').val(),
                      'questionOptionCEng':$('#questionOptionCEng').val(),
                      'questionOptionDEng':$('#questionOptionDEng').val(),
                      'questionOptionAHindi':$('#questionOptionAHindi').val(),
                      'questionOptionBHindi':$('#questionOptionBHindi').val(),
                      'questionOptionCHindi':$('#questionOptionCHindi').val(),
                      'questionOptionDHindi':$('#questionOptionDHindi').val(),
                      'correctAnswerEng':$('#correctAnswerEng').val(),
                      'correctAnswerHindi':$('#correctAnswerHindi').val()
                  }
                    return data;
                  },
                  onSuccess:function(files,data,xhr,pd)
                  {
                      checkFilesUploaded = true;
                    questionImageFileUploadStatus = true;

                  },
                  onError: function(files,status,errMsg,pd)
                  {
                      checkFilesUploaded = false;
                      questionImageFileUploadStatus = false;
                      swal('Image Uploading','Question Image uploading failed Contact Developer','error');
                  }

          });

          // UPLOAD OPTION A IMAGE
          var OptionAImageUploader = $('#questionOptionAUploader').uploadFile({

             url:"admin/teaching-test/TeachingTest/insert_question",
                  fileName: "optionAImage",
                  multiple:false,
                  maxFileCount:1,
                  showAbort:true,
                  showPreview:true,
                  previewHeight: "120px",
                  previewWidth: "90px",
                  autoSubmit:false,
                  dynamicFormData: function()
                  {
                    var data ={ 
                      'questionEng':$('#questionEng').val(),
                      'questionHindi':$('#questionHindi').val(),
                      'questionOptionAEng':$('#questionOptionAEng').val(),
                      'questionOptionBEng':$('#questionOptionBEng').val(),
                      'questionOptionCEng':$('#questionOptionCEng').val(),
                      'questionOptionDEng':$('#questionOptionDEng').val(),
                      'questionOptionAHindi':$('#questionOptionAHindi').val(),
                      'questionOptionBHindi':$('#questionOptionBHindi').val(),
                      'questionOptionCHindi':$('#questionOptionCHindi').val(),
                      'questionOptionDHindi':$('#questionOptionDHindi').val(),
                      'correctAnswerEng':$('#correctAnswerEng').val(),
                      'correctAnswerHindi':$('#correctAnswerHindi').val()
                  }
                    return data;
                  },
                  onSuccess:function(files,data,xhr,pd)
                  {
                      checkFilesUploaded = true;
                      optionAFileUploadStatus = true;

                  },
                  onError: function(files,status,errMsg,pd)
                  {
                      checkFilesUploaded = false;
                      optionAFileUploadStatus = false;
                      swal('Image Uploading','Option A Image uploading failed Contact Developer','error');
                  }

          });
</script>

这是我的php(codeigniter)文件。

public function insert_question()
    {

        $config['upload_path'] = realpath(FCPATH.'/teaching_test/');
        $config['allowed_types'] = 'jpg|jpeg|gif';
        $config['max_size'] = '10000000';
        $config['overwrite'] = TRUE;
        $config['encrypt_name'] = FALSE;
        $config['remove_spaces'] = TRUE;

        if ( ! is_dir($config['upload_path']) ) die("THE UPLOAD DIRECTORY DOES NOT EXIST");
        $this->load->library('upload', $config);
        $this->upload->initialize($config);


        // just geting one file with name questionImage how can i get other files here.  
        if ( ! $this->upload->do_upload('questionImage')) {
            echo 'error';
        } else {


            // GET DATA FROM POST

            $questionArray = array(
                'questionTestCategory' => $this->input->post('teachingCategorySelect'),
                'questionTestID' => $this->input->post('testSelect'),
                'questionEng' => $this->input->post('questionEng'),
                'questionHindi' => $this->input->post('questionHindi'),
                'questionOptionAEng' => $this->input->post('questionOptionAEng'),
                'questionOptionBEng' => $this->input->post('questionOptionBEng'),
                'questionOptionCEng' => $this->input->post('questionOptionCEng'),
                'questionOptionDEng' => $this->input->post('questionOptionDEng'),
                'questionOptionAHindi' => $this->input->post('questionOptionAHindi'),
                'questionOptionBHindi' => $this->input->post('questionOptionBHindi'),
                'questionOptionCHindi' => $this->input->post('questionOptionCHindi'),
                'questionOptionDHindi' => $this->input->post('questionOptionDHindi'),
                'correctAnswerEng' => $this->input->post('correctAnswerEng'),
                'correctAnswerHindi' => $this->input->post('correctAnswerHindi'),
                'test_type_id' => 1
            );

           print_r($questionArray);

        }

    }

0 个答案:

没有答案