我花了差不多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))但这不是一个好习惯。为什么我不能在某种条件下向现有数组添加新索引?
答案 0 :(得分:1)
当您定义像$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');