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

アップロードを確認する前にその配列を作成しているため、写真がアップロードされていない場合はエラーになります。アップロードを確認/実行した後、アレイの作成を移動する必要があります

コードの1行の修正として、障害のある行の代わりにこれを使用します。

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