在Codeigniter中使用不同的输入文件上传多个图像

时间:2015-04-23 14:00:32

标签: php jquery codeigniter file-upload

所以我的表单中有四个输入文件,我将它发送到我的全球$ _FILES上,其中包含以下索引:front,rear,right和left。

我想使用codeigniter图像类库上传这些内容。这是我的代码:

public function upload_to_temp($id, $folder, $tags){
            $path = realpath(APPPATH . '../public/resources/temps/' . $folder );
            //makes a directory
            mkdir($path . '/' . $id, 0700);
            //navigate to the newly created path
            $path = realpath(APPPATH . '../public/resources/temps/' . $folder . '/' . $id);

            if(isset($tags)){
                //use these tags to check the files present on submission
                foreach($tags as $tag){
                    if(array_key_exists($tag,$_FILES)){
                        if(!empty($_FILES) && $_FILES[$tag]["name"] != "" && isset($_FILES[$tag]["name"])){
                            $config = array (
                                'source_image' => $_FILES[$tag]["name"],
                                'image_library' => 'gd',
                                'upload_path' => $path, 
                                'file_name' =>  $id . '_' . $tag . '.jpg',
                                'allowed_types' => 'png|jpg|jpeg',
                                'overwrite' => TRUE,
                                'max_size' => '2000',   
                            );
                            $this->_CI->upload->initialize($config);
                            if(!$this->_CI->upload->do_upload()){
                                echo 'Error creating image. ';
                                echo $this->_CI->upload->display_errors();
                            }else{
                                echo 'Success saving to temp folder';
                            }

                            //kapag failed
                            if(!$this->_CI->upload->do_upload()){
                                echo 'Error creating image.';
                                echo $this->_CI->upload->display_errors();
                            }else{
                                //now, the $path will become our resource path for copying and creating thumbnails.
                                $resouce_path = $config['upload_path'] . '/' . $config['file_name'];
                                $this->img_create_thumb($resouce_path, $folder);
                            }

                        }else{
                            //Hindi na dapat marating to!
                            echo $tag . ' not present ';
                        }
                    }else{
                        //use default pictures
                        echo $tag . ' not present ';
                    }

                }
            }

        }

然而,它给了我以下错误:

  

创建图片时出错。

您没有选择要上传的文件。

错误   创建图像。

您没有选择要上传的文件。

您做到了   不选择要上传的文件。

创建图像时出错。

你没有   选择要上传的文件。

创建图像时出错。

您没有选择   要上传的文件。

您没有选择要上传的文件。

正确   不存在不存在

我认为我没有正确指定上传$ _FILES上的哪个资源。

非常感谢您的回复。

由于

1 个答案:

答案 0 :(得分:0)

我通过在codeigniter的do_upload()

中提供索引来解决它
$this->_CI->upload->do_upload($tag);