codeigniter上传文件错误 [英] codeigniter upload file error

查看:120
本文介绍了codeigniter上传文件错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我收到「您没有选取要上传的档案」错误。当我尝试使用此代码上传照片时:

I am receiving the error "You did not select a file to upload." When I am attempting to upload a photo using this code:

function index()
{
$this->load->helper(array('form', 'url'));
$this->load->library('session');
$this->load->library('form_validation');
$this->form_validation->set_rules('title', 'title', 'trim|required|max_length[255]');
$this->form_validation->set_rules('description', 'description', 'trim|required|max_length[2550]');
$this->form_validation->set_error_delimiters('<p class="error">', '</p>');

$data['title'] = $this->input->post('username');
$data['description'] = $this->input->post('description');
if($this->form_validation->run() == FALSE)
{
  $this->load->view('upload_form', $data);
}
else
{
  $this->load->helper('string');
  $config['upload_path'] = realpath($_SERVER['DOCUMENT_ROOT'] . '/uploads') . '/';
  $config['allowed_types'] = 'gif|jpg|png';
  $config['max_size'] = '5000';
  $config['max_width'] = '10240';
  $config['max_height'] = '10240';
  $config['overwrite'] = FALSE;
  $config['file_name'] =  random_string('alpha', 6);
  $config['remove_spaces'] = TRUE;

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

  if(!$this->upload->do_upload('file'))
  {
    $error = array('upload_message' => $this->upload->display_errors());
    $this->load->view('upload_form', $error);
  }
  else
  {
    //do upload stuff
  }
}

这是视图:

<?php echo form_open('upload'); ?>
<h5>Title: </h5>
<br />
<?php echo form_input('title', set_value('title')); ?>
<?php $a = form_error('title'); ?>
<br />
<?php echo '<h5>'; echo $a=="" ? '<br />' : $a.'<br />'; echo '</h5>'; ?>
<h5>Description: </h5>
<br />
<?php echo form_textarea('description', set_value('description')); ?>
<?php $a = form_error('description'); ?>
<br />
<?php echo '<h5>'; echo $a=="" ? '<br />' : $a.'<br />'; echo '</h5>'; ?>
<h5>Upload: </h5>
<br />
<?php echo form_upload('file'); ?>
<?php $a = (isset($upload_message) ? $upload_message : "<br/>&nbsp<br /><br />"); ?>
<?php echo '<h5>'; echo $a=="" ? '<br />a' : $a.''; echo '</h5>'; ?>
<br />
<?php echo form_submit('upload', 'Upload'); ?>
<?php form_close(); ?>

我使用相同的配置进行了测试上传表单,它完美地工作。当我尝试使用此表单时,我收到错误您没有选择要上传的文件。

I have made a test upload form with the same config and it works perfectly. When I try and use this form however, I am receiving the error "You did not select a file to upload."

推荐答案

您需要使用 form_open_multipart()而不是 form_open()。您的测试脚本不可能没有这个。

You need to use form_open_multipart() instead of form_open(). Your test script couldn't have possibly worked without this.

这篇关于codeigniter上传文件错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆