在我的CodeIgniter项目中,我在项目创建期间上传了多个文件。请让我知道如何使用CI上传多个文件。
这是提交表单后的输出数组。
[user_attached] => Array
(
[name] => Array
(
[pic_passport] => cp-user-error.png
[att_document] => local-delivery-done.png
)
[type] => Array
(
[pic_passport] => image/png
[att_document] => image/png
)
[tmp_name] => Array
(
[pic_passport] => C:\xampp\tmp\phpC707.tmp
[att_document] => C:\xampp\tmp\phpC718.tmp
)
[error] => Array
(
[pic_passport] => 0
[att_document] => 0
)
[size] => Array
(
[pic_passport] => 635392
[att_document] => 36512
)
)
答案 0 :(得分:0)
要在Codeigniter中上载多个文件。试试这个。
$filesCount = count($_FILES['user_attached']['name']);
$path = 'upload/document';
if (!file_exists($path)) {
mkdir($path, 0777, true);
}
$array = ['pic_passport','att_document'];
for($i = 0; $i < $filesCount; $i++) {
$_FILES['userFile']['name'] = $_FILES['user_attached']['name'][$array[$i]];
$_FILES['userFile']['name'] = $_FILES['user_attached']['name'][$array[$i]];
$_FILES['userFile']['type'] = $_FILES['user_attached']['type'][$array[$i]];
$_FILES['userFile']['tmp_name'] = $_FILES['user_attached']['tmp_name'][$array[$i]];
$_FILES['userFile']['error'] = $_FILES['user_attached']['error'][$array[$i]];
$_FILES['userFile']['size'] = $_FILES['user_attached']['size'][$array[$i]];
$imagename = $this->randomAlphanumId(10);
$image_name[$array[$i]]="doc_".$imagename."_".str_replace(array(' '),'_',$_FILES['userFile']['name']);
$config['upload_path'] = $path;
$config['allowed_types'] = '*';
$config['file_name'] = $image_name[$array[$i]];
$this->load->library('upload',$config);
$this->upload->initialize($config);
if($this->upload->do_upload('userFile')) {
$fileData = $this->upload->data();
$upload_image[] = $fileData['file_name'];
}
}
答案 1 :(得分:0)
为此代码创建库并从控制器调用
for($i = 0; $i < $config_array['files_count']; $i++)
{
if($config_array['file_data']['name'][$i])
{
$file_name = $config_array['file_data']['name'][$i];
$file_info = pathinfo($file_name);
$new_file_name = preg_replace('/[[:space:]]+/', '_', $file_info['filename']);
$new_file_name = $new_file_name.'_'.DATE(UPLOAD_FILE_DATE_FORMAT);
$new_file_name = str_replace('.','_',$new_file_name);
$file_extension = $file_info['extension'];
$new_file_name = $new_file_name.'.'.$file_extension;
$_FILES['attchment']['name'] = $new_file_name;
$_FILES['attchment']['tmp_name'] = $config_array['file_data']['tmp_name'][$i];
$_FILES['attchment']['error'] = $config_array['file_data']['error'][$i];
$_FILES['attchment']['size'] = $config_array['file_data']['size'][$i];
$config['upload_path'] = $config_array['file_upload_path'];
$config['file_name'] = $new_file_name;
$config['allowed_types'] = $config_array['file_permission'];
$config['file_ext_tolower'] = TRUE;
$config['remove_spaces'] = TRUE;
$config['max_size'] = $config_array['file_size'];
$this->CI->load->library('upload',$config);
$this->CI->upload->initialize($config);
if($this->CI->upload->do_upload('attchment'))
{
array_push($file_array,array(
'og_name'=> $file_name,
'name'=> $new_file_name)
);
}
else
{
array_push($error_msgs,$this->CI->upload->display_errors('',''));
}
}
}