Php 未在codeigniter中上载文件
我试图通过codeigniter控制器上传2个文件。当我选择文件并点击提交时,它总是返回错误。但是当我做一个var_dump$文件时;它显示文件正在传递,但没有被codeigniter控制器捕获 有人能告诉我我做错了什么吗?下面是我的代码Php 未在codeigniter中上载文件,php,codeigniter,Php,Codeigniter,我试图通过codeigniter控制器上传2个文件。当我选择文件并点击提交时,它总是返回错误。但是当我做一个var_dump$文件时;它显示文件正在传递,但没有被codeigniter控制器捕获 有人能告诉我我做错了什么吗?下面是我的代码 $config['upload_path'] = './docs/'; $config['allowed_types'] = 'jpg|doc|docx';
$config['upload_path'] = './docs/';
$config['allowed_types'] = 'jpg|doc|docx';
$config['max_size'] = 10000;
$config['max_width'] = 3000;
$config['max_height'] = 3000;
$this->load->library('upload', $config);
if ( !$this->upload->do_upload('userfile1') || !$this->upload->do_upload('userfile2'))
{
echo "error";
} else {
$f1= $this->upload->data('userfile1');
$f2= $this->upload->data('userfile2');
echo $f1['file_name'];
echo $f2['file_name'];
}
对于CI中的多个文件上载,请按照以下方式操作-
$config['upload_path'] = 'uploads/photos/';
$config['allowed_types'] = 'jpg|jpeg|png|gif';
$this->load->library('upload', $config);
for ($i=0; $i < count($_FILES['photos']['name']); $i++) {
$_FILES['photos[]']['name'] = $_FILES['photos']['name'][$i];
$_FILES['photos[]']['type'] = $_FILES['photos']['type'][$i];
$_FILES['photos[]']['tmp_name'] = $_FILES['photos']['tmp_name'][$i];
$_FILES['photos[]']['error'] = $_FILES['photos']['error'][$i];
$_FILES['photos[]']['size'] = $_FILES['photos']['size'][$i];
if ($this->upload->do_upload('photos[]')) {
$photos_files = array('upload_data' => $this->upload->data());
$photos_arr[] = $photos_files['upload_data']['file_name'];
}else{
$error[] = $this->upload->display_errors();
}
}
你好谢谢你的回复。。。我有两个单独的输入字段,用于两种不同类型的文档。那么,如何在不使用循环的情况下获取文件呢?您可以将两个输入的名称属性值定义为like-name=photo[]