我有一个表格,假设发布信息和上传图片,当我发布信息时,表格正在做它应该做的事情,但是当我浏览照片时它注意到,既没有信息也没有文件,任何人都可以帮助我为什么这样做所以? 实际上我在表单中有7个文件字段,只有一个它在工作但有多个它无法正常工作。
<?php $attributes = array("name" => "project_add");
echo form_open_multipart("project/add", $attributes);?>
<?php echo $this->session->flashdata('msg'); ?>
Project Name <span>*</span><br/>
<input class="form-control" name="name" id="name" type="text"value="<?php echo set_value('name'); ?>" /><br/>
<input class="form-control" name="f_lcpd" id="f_lcpd" type="checkbox" /> <label for ="">Painted Desert</label>`
Invoice <input class="form-control" name="userfile[]" id="" type="file" />
image 1<input class="form-control" name="userfile[]" id="" type="file" />
Image 2<input class="form-control" name="userfile[]" id="" type="file" />
<input type="submit" value="Save" />
<?php echo form_close(); ?>
控制器功能
public function add()
{
print_r($_POST);
print_r($_FILES);
}
答案 0 :(得分:0)
将文件提交到服务器时,应使用enctype="multipart/form-data"
(表单)。在服务器端,您可以使用$_FILES
supergloal访问这些文件,并且可以使用$_POST
访问标准POST数据(仅当method="POST"
时)
如果要提交多个文件,您的代码应如下所示:
<input name="userfile[]" type="file" /><br />
<input name="userfile[]" type="file" /><br />
然后,在服务器端(如果你没有使用任何助手):
foreach($_FILES['userfile']['tmp_name'] as $key => $tmp_name)
// process image upload, e.g. if you want the size: $_FILES['userfile']['size'][$key]
}
您可以将上述解决方案与CodeIgniter中的do_upload
方法结合使用。