0

我的控制器中有这个功能。如果我添加图像,它可以正常工作,但如果我不上传图像,我会收到以下错误:

消息:未定义索引:categoryphoto 文件名:controllers/faqcategories.php 行号:90

这是我的代码

 public function addNewFaqCategory() 
    {    
        $currentUser = $this->isLoggedIn();
        $this->load->library('upload');
        $this->load->library('form_validation');
        $this->form_validation->set_rules('categoryname', 'Category Name', 'trim|required|xss_clean');
        $this->form_validation->set_rules('categoryname_en', 'Category Name', '');
        $this->form_validation->set_rules('visible', 'Visible', 'trim|required|xss_clean');
        $this->form_validation->set_rules('sorder', 'Sort Order', 'trim|numeric|xss_clean');

        if ($this->form_validation->run() == FALSE) 
        {
            $this->displayAddFaqCategoryForm();
        } else {

            $insertWhat = array(
                                'categoryname'    => $this->input->post('categoryname'),
                                'categoryname_en' => $this->input->post('categoryname_en'),
                                'parentid'        => $this->input->post('parentid'),
                                'description'     => $this->input->post('description'),
                                'description_en'  => $this->input->post('description_en'),
                                'metatags'        => $this->input->post('metatags'),
                                'metatags_en'     => $this->input->post('metatags_en'),
                                'sorder'          => $this->input->post('sorder'),
                                'visible'         => $this->input->post('visible'),
                                'categoryphoto'   => ($_FILES['categoryphoto']['name']) // line 90, error is here....

                               );

            if($insertWhat['categoryphoto'] !="")
            {
                $insertWhat['categoryphoto'] = str_replace(' ', '_',$insertWhat['categoryphoto']);
                $now = date('Y-m-d-His');
                $insertWhat['categoryphoto'] = $now.$insertWhat['categoryphoto'];
        $config['upload_path'] = 'backOffice/backOfficeImages';
        $config['allowed_types'] = 'gif|jpg|jpeg|bmp|png';
        $config['max_size'] = '2048';
        $config['max_width']  = '1024';
        $config['max_height']  = '768';
                $config['file_name'] = $insertWhat['categoryphoto'];
                $this->load->library('upload', $config);
                $this->upload->initialize($config);   
            }
            $this->upload->do_upload('categoryphoto');
            $data = array('upload_data' => $this->upload->data('categoryphoto'));
            $this->load->model('faqcategoriesmodel');
            $this->faqcategoriesmodel->save($insertWhat);
            $this->displayAllFaqCategories();
        }
    } // end of function addNewFaqCategory

第 90 行 = 'categoryphoto' => ($_FILES['categoryphoto']['name'])

任何帮助将不胜感激。

卓然

4

1 回答 1

0

您在检查上传之前创建了该数组,因此如果没有上传照片,它将出错。您应该在检查/完成上传后移动数组创建

作为代码的单行修复,使用它来代替错误行:

'categoryphoto'   => isset($_FILES['categoryphoto']['name'])? $_FILES['categoryphoto']['name'] : '' 
于 2012-09-21T14:43:06.150 回答