Php is_uploaded_file()希望参数1是字符串,数组是在codeigniter中上载多个文件时给定的
我无法上传多个文件 这是我的意见表Php is_uploaded_file()希望参数1是字符串,数组是在codeigniter中上载多个文件时给定的,php,codeigniter,codeigniter-3,multifile-uploader,Php,Codeigniter,Codeigniter 3,Multifile Uploader,我无法上传多个文件 这是我的意见表 <form method="POST" action="<?=base_url()?>register/saverecord" enctype="multipart/form-data"> <input type="file" name="file_upload[]" multiple="multiple" value=""><br/><br/> <input
<form method="POST" action="<?=base_url()?>register/saverecord" enctype="multipart/form-data">
<input type="file" name="file_upload[]" multiple="multiple" value=""><br/><br/>
<input type="submit" name="submit" value="SUBMIT">
</form>
这里的fieldname
是一个数组,你需要在这里有单独的文件而不是数组。试试这段代码,它会工作的。您正在传递数组以执行上传功能。这是无效的。我更正了代码,请检查后更换此代码
foreach( $_FILES[ 'fieldname' ] as $i => $void ){
$name=$_FILES[ 'fieldname' ]['name'][$i];
$tmp=$_FILES[ 'fieldname' ]['tmp_name'][$i];
$size=$_FILES[ 'fieldname' ]['size'][$i];
$type=$_FILES[ 'fieldname' ]['type'][$i];
/* other code */
}
公共函数saveRecord(){
$config['upload_path']=APPPATH./uploads/;
$path=$config['upload_path'];
$config['allowed_types']='*';
$config['max_size']='1024';
$config['max_width']='1920';
$config['max_height']='1280';
$this->load->library('upload',$config);
$fileName=[];
foreach($\u FILES as$fieldname=>$fileObject)//fieldname是表单字段名
{
如果(!empty($fileObject['name'])){
$this->upload->initialize($config);
如果(!$this->upload->do_upload($fileObject['name'])){
$errors=$this->upload->display_errors();
}否则{
$fileName[]=$this->upload->data();
}
}
}
回声“;
打印(文件名);
回声“;
出口
}
当处理一个多文件上传时,你可以像这样访问各种文件-你如何通过codeigniter将其与本机方法联系起来
我不知道
if (!$this->upload->do_upload($fieldname)) {
public function saveRecord() {
$config['upload_path'] = APPPATH . './uploads/';
$path = $config['upload_path'];
$config['allowed_types'] = '*';
$config['max_size'] = '1024';
$config['max_width'] = '1920';
$config['max_height'] = '1280';
$this->load->library('upload', $config);
$fileName = [];
foreach ($_FILES as $fieldname => $fileObject) //fieldname is the form field name
{
if (!empty($fileObject['name'])) {
$this->upload->initialize($config);
if (!$this->upload->do_upload($fileObject['name'])) {
$errors = $this->upload->display_errors();
} else {
$fileName[] = $this->upload->data();
}
}
}
echo "<pre>";
print_r($fileName);
echo "</pre>";
exit;
}
foreach( $_FILES[ 'fieldname' ] as $i => $void ){
$name=$_FILES[ 'fieldname' ]['name'][$i];
$tmp=$_FILES[ 'fieldname' ]['tmp_name'][$i];
$size=$_FILES[ 'fieldname' ]['size'][$i];
$type=$_FILES[ 'fieldname' ]['type'][$i];
/* other code */
}