【问题标题】:You did not select a file to upload CodeIgniter您没有选择要上传 CodeIgniter 的文件
【发布时间】:2014-03-05 03:57:16
【问题描述】:

$this->upload->data() 结果是

Array
(
    [file_name] => 72f59510f9bbf05933c89e4951acc29d
    [file_type] => 
    [file_path] => ./inst/public/uploads/
    [full_path] => ./inst/public/uploads/72f59510f9bbf05933c89e4951acc29d
    [raw_name] => 72f59510f9bbf05933c89e4951acc29d
    [orig_name] => 
    [client_name] => 
    [file_ext] => 
    [file_size] => 
    [is_image] => 
    [image_width] => 
    [image_height] => 
    [image_type] => 
    [image_size_str] => 
)

错误:

Array
(
    [error] => You did not select a file to upload.
)

上传功能

    function upload(){

     if(isset($_POST['userfile']) AND !empty($_POST['userfile']))

     {

         $Info = $this->login();
         if(@$Info)

         {

             $config['upload_path']    = './inst/public/uploads/';
             $config['allowed_types']  = 'gif|jpg|png';
             $config['max_size']       = '1000';
             $config['max_width']      = '230';
             $config['max_height']     = '280';
             $config['min_width']      = '220';
             $config['min_height']     = '270';
             $config['remove_spaces']  = TRUE;
             $config['overwrite'] = TRUE;
             $config['file_name']     = md5(uniqid("100_ID", true));


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

                   $Setting = $this->Setting;
                   $this->load->view('header',$Setting);


             if ( ! $this->upload->do_upload("userfile"))
                 {
                      $response['error'] = array('error' => $this->upload->display_errors());
                      echo '<pre>';
                      print_r( $this->upload->data());
                      $this->load->view('upload_done', $response);
                 }

             else
                 {
                      $response['success'] = array('upload_data' => $this->upload->data());
                      $this->load->view('upload_done', $response);
                 }

         }

     }

}

表单代码

<?php 
    echo form_open('/Home/upload');
?>
                    <br><div class="form-group"><input class ='form-control' placeholder="<?php echo lang('fileu'); ?>" type="file" name="userfile" size="20" /></div>

    <div class="alert alert-info"><?php echo lang('filetext'); ?></div>


  </div>
  <div class="modal-footer">
    <button type="button" class="btn btn-default" data-dismiss="modal"><?php echo lang('Close'); ?></button>
    <button type="submit" class="btn btn-primary"><?php echo lang('uploadsub'); ?></button>
    <?php echo form_close(); ?>

【问题讨论】:

  • 还在文件名属性中提及您的文件扩展名

标签: php codeigniter upload


【解决方案1】:

您必须使用以下代码上传文件。您的表单中缺少 multipart 属性。

echo form_open_multipart('/Home/upload');

【讨论】:

    【解决方案2】:

    首先将您的辅助函数更改为form_open_multipart()。如果改用正确的函数后仍然报错,也可能是你的 maxsize 属性。如果上传的文件大于允许的大小,则 FILES 变量将为空。

    尝试改变...

    $config['max_size']       = '1000';
    

    ...类似于...

     $config['max_size']       = '30000';
    

    php.net File Upload

    【讨论】:

      猜你喜欢
      • 2018-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-08
      • 1970-01-01
      • 2013-07-26
      • 2016-03-13
      相关资源
      最近更新 更多