【问题标题】:Php codeigniter is not uploading an imagephp codeigniter没有上传图片
【发布时间】:2018-02-17 06:23:58
【问题描述】:

这是我上传图片的查看代码,但显示错误你没有选择要上传的文件。

<form id="signupForm" action="<?php echo base_url();?>dashboard/saveSpeciality" method="post">   
  <div class="form-row">
      <input type="text" required=""   name="speciality_Name" placeholder="Speciality Name" >
      <?php echo form_error('speciality_Name','<span class="help-block">','</span>'); ?>
  </div>  
        <input type="file"  name="image"  size="20"/>
        <?php echo form_error('image','<span class="help-block">','</span>'); ?>
  <div class="form-row">
         <input type="submit" name="addSubmit"  value="Add Speciality"/>
    </div>
</form>

这是我的控制器仪表板的代码,功能是 saveSpeciality。当我尝试上传图片时,它显示错误“您没有选择要上传的文件。”。

public function saveSpeciality()
{
    $config['upload_path'] = './uploads/';
    $config['allowed_types'] = 'gif|jpg|png|bmp|jpeg';
    $config['max_size'] = '2048000';
    $config['max_width'] = '2048';
    $config['max_height'] = '2048';
    $config['overwrite'] = true;

    $this->load->library('upload', $config);
    $imag="image";
    if( ! $this->upload->do_upload($imag)){
        $this->form_validation->set_error_delimiters('<p class="error">', '</p>');
        echo $this->upload->file_name;
        $error = array('error' => $this->upload->display_errors());
        print_r($error);
    } else {
        $data = array('upload_data' => $this->upload->data());
    }
}

【问题讨论】:

标签: php codeigniter


【解决方案1】:

您可以尝试将enctype="multipart/form-data" 添加到您的&lt;form&gt;

【讨论】:

  • 必须是评论而不是答案
【解决方案2】:

在表单中添加enctype="multipart/form-data" 属性

<form id="signupForm" action="<?php echo base_url();?>dashboard/saveSpeciality" method="post" enctype="multipart/form-data">
</form>

【讨论】:

    【解决方案3】:

    试试这个

    &lt;form id="signupForm" action="&lt;?php echo base_url();?&gt;dashboard/saveSpeciality" method="post" enctype="multipart/form-data"&gt;

    $file_name = time() . "." . pathinfo($_FILES['image']['name'], PATHINFO_EXTENSION);
    
    $config['upload_path'] = FCPATH . 'uploads/';
    $config['allowed_types'] = 'gif|jpg|png|jpeg|GIF|JPG|PNG|JPEG';
    $config['max_size'] = '2048000';
    $config['max_width'] = '2048';
    $config['max_height'] = '2048';
    $config['file_name'] = $file_name;
    $config['overwrite'] = true;
    
    $obj->upload->initialize($config);
    $imag = "image";
    if (!$obj->upload->do_upload($imag)) {
      $error = array('error' => $this->upload->display_errors());
      print_r($error);
      //return $obj->upload->display_errors();
    } else {
      $data = array('upload_data' => $this->upload->data());
    }
    

    【讨论】:

    • 我已经测试过这段代码,之前的错误已被删除,但它显示此错误“上传路径似乎无效。”
    • @RanaUmair 你的项目中有上传文件夹吗?
    • 在应用程序文件夹和项目文件夹中,我已经使用 FCPATH 和 APPPATH 对其进行了测试,在这两种情况下同样的错误
    • @RanaUmair which OS you using if unix 那么你需要更改权限或检查文件夹名称是否正确。
    • 我使用的是 Windows 10
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-10
    • 1970-01-01
    • 2013-08-23
    • 2011-06-08
    • 2012-01-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多