Php 在codeigniter中上载图像
我试图在codeigniter中上传图像,但在$this->upload->do_upload('imgname')中遇到了问题。若条件未执行,则只有elese execute and show错误消息为“您未选择要上载的文件”。但是,当删除所有代码中的表单上载时,它会完美地执行 控制器:Php 在codeigniter中上载图像,php,codeigniter,Php,Codeigniter,我试图在codeigniter中上传图像,但在$this->upload->do_upload('imgname')中遇到了问题。若条件未执行,则只有elese execute and show错误消息为“您未选择要上载的文件”。但是,当删除所有代码中的表单上载时,它会完美地执行 控制器: public function add_news() { $post = $this->input->post(); unset($pos
public function add_news()
{
$post = $this->input->post();
unset($post['submit']);
$this->load->model('Adminmodel','addNews');
if(!is_dir('uploads'))
{
mkdir(base_url().'uploads',0777,true);
}
if(!is_dir('uploads/news'))
{
mkdir('uploads/news',0777,true);
}
$config = [
'upload_path'=>'uploads/news',
'allowed_types'=>'png|jpg|jpeg|gif',
'encrypt_name'=>'0777',
];
$this->load->library('upload', $config);
if($this->upload->do_upload('newsimg'))
{
$data = $this->upload->data();
$file_path = base_url().'uploads/news/'.$data["raw_name"].$data["file_ext"];
$post['newsimg'] = $file_path;
//$this->revEdit->reg_info($id,$post);
$post['posted'] = date('d-m-Y');
$this->addNews->store_news($post);
$this->session->set_flashdata('newsAlert','Yeh! News Added Successfully.');
redirect('Admin/news');
}
else
{
$newsdata = $this->addNews->news_list();
$upload_error = $this->upload->display_errors();
$this->load->view('Admin/news',compact('upload_error','newsdata'));
}}
视图:
您需要使用
form\u open\u multipart
而不是form\u open
,以便可以在表单中添加enctype
改变
<?=form_open('Admin/add_news',['class'=>'form'],['aid'=>$this->session->userdata('adminId')])?>
致:
您没有使用
enctype='multipart/form data'
试试这个
<?=form_open_multipart('Admin/add_news',['class'=>'form'],['aid'=>$this->session->userdata('adminId')])?>
您需要使用多部分/表单数据进行文件上载。 因此,请使用form_open_multipart而不是form_open
回显表单“打开”多部分(“管理/添加新闻”) 函数upload_add($name){$this->load->helper('form');$config['upload_path']=“upload/add_image/”;$config['allowed_types']=“gif | jpg | png”;$config['max_size']=“30000”;$config['max_width']=“102400”;$config['max_height']=“76800”;$this->load->library('upload',$config);$this->初始化($config);如果(!$this->upload->do_upload($name)){$data=array('msg'=>$this->upload->display_errors());}else{$data=array('msg'=>“success”);$databasea['upload_data']=$this->upload->data();$this->load->lib lib('image_');return$databasea['upload_data']['file_name']}return您的表格中是否有
enctype='multipart/form data'
,谢谢您的Regolith,
<?=form_open('Admin/add_news',['class'=>'form'],['aid'=>$this->session->userdata('adminId')])?>
<?=form_open_multipart('Admin/add_news',['class'=>'form'],['aid'=>$this->session->userdata('adminId')])?>
<?=form_open_multipart('Admin/add_news',['class'=>'form'],['aid'=>$this->session->userdata('adminId')])?>