Php Codeigniter“您没有选择要上载的文件。”
我尝试使用codeigniter上传文件,无论我尝试了什么,我都会收到错误消息,表明我没有选择文件,而实际上我选择了 我的控制器看起来是这样的Php Codeigniter“您没有选择要上载的文件。”,php,codeigniter,Php,Codeigniter,我尝试使用codeigniter上传文件,无论我尝试了什么,我都会收到错误消息,表明我没有选择文件,而实际上我选择了 我的控制器看起来是这样的 public function editHeader() { $this->require_auth(); $config['upload_path'] = './files/'; $config['allowed_types'] = 'gif|jpg|png'; $co
public function editHeader()
{
$this->require_auth();
$config['upload_path'] = './files/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '1000KB';
$config['max_width'] = '1024';
$config['max_height'] = '768';
$this->load->library('upload', $config);
if ( ! $this->upload->do_upload('userfile'))
{
$error = array('error' => $this->upload->display_errors());
var_dump($error);
}
else
{
$data = array('upload_data' => $this->upload->data());
echo('yeah!');
}
}
我的html只是一个codeigniter表单
<?foreach($header as $row) :?>
<?=form_open_multipart('admin/editHeader');?>
<input class="waitForLoad fadeInDown" type="file" name="userfile" />
<input type="submit" name="submit" value="Change" class="btn btn-success pull-right" />
</form>
<?endforeach;?>
我尝试过正常的解决方案,比如增加最大上传大小,以及将上传名称放在do_上传功能中,但似乎什么都不起作用,我正准备拔掉头发。感谢您的帮助 上传文件时,您需要使用form\u open\u multipart,而不是form\u open。您必须使用
因为如果我们在表单中写入,我们将在控制器中获得$u文件
添加后,如果您打印\u r$\u文件,那么您将获得数组
当我们进行与图像上传或验证码相关的工作时,即使我没有上传多个文件,这也是必要的?这实际上不起作用。。。它仍然给我同样的错误message@zazvorniki是的。multipart与文件的数量无关,上传任何文件都需要multipart。从文档中:默认情况下,上载例程希望文件来自名为userfile的表单字段,并且表单必须是多部分类型,但奇怪的是,它仍然无法工作。您是否在$\u文件中看到它?