Неопределенная ошибка индекса ... Добавление новых индексов в существующий массив - PullRequest
0 голосов
/ 24 марта 2012

Я провел почти 2 дня с этой ошибкой.

if ($_FILES['userfile']['error'] !== 4) {

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

                $settings = array('upload_path' => '././images/yeniler', 'allowed_types' => 'jpg|jpeg');

                $this -> upload -> initialize($settings);

                $dosya = $this -> upload -> do_upload();
                $upload_data = $this -> upload -> data('userfile');
                $formverileri[]="";
                if ($dosya) {
                $dosyaadi = $upload_data['file_name'];

                }

            }
            $formverileri['yeniler_resim'] =$dosyaadi; 
            $formverileri = array('yeniler_baslik' => $this -> input -> post('yeniler_baslik'), 'yeniler_detay' => $this -> input -> post('yeniler_detay'));

            if ($guncelle = $this -> yeniler_model -> updateData($formverileri)) {
                var_dump($formverileri);
                var_dump($upload_data);
                die;
                echo("başarılı");
                $this -> session -> set_flashdata("sonuc", "oldu");
                redirect(base_url() . "admin_yeniler/duzenle/" . $this -> input -> post('yeniler_id'));

            } else {
                echo("olmadı..");
            }

Проблема в том, что я не могу присвоить значение $upload_data['file_name'] в $formverileri['yeniler_resim'] ... Когда я проверяю массив отдельно с print_rЯ вижу точно правильные индексы и значения.Но я НЕ МОГУ добавить $formverileri['yeniler_resim'] в мой массив обновлений ...

Редактировать: ТОЛЬКО ЕСЛИ файл ЗАГРУЗЕН. Я хочу присвоить $ upload_data ['file_name'] для $ formverileri ['yeniler_resim'].Я мог бы продублировать свою функцию обновления (это $ this-> yeniler_model-> updateData ($ formverileri)), но это не было бы хорошей практикой.Почему я не могу добавить новый индекс в существующий массив в определенном состоянии ??

1 Ответ

1 голос
/ 24 марта 2012

Когда вы определяете новый массив, например $formverileri = array(.., старое значение этой переменной заменяется новым определенным вами значением.

Попробуйте этот код

 if ($dosya) {
            $dosyaadi = $upload_data['file_name'];
            $formverileri['yeniler_resim'] = $dosyaadi; 
            }

        }

        $formverileri['yeniler_baslik'] = $this -> input -> post('yeniler_baslik');
        $formverileri['yeniler_detay'] = $this -> input -> post('yeniler_detay');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...