模特功能:
public function file_upload($folder, $allowed_type, $max_size = 0, $max_width = 0, $max_height = 0)
{
$folder = $this->path . $folder;
$files = array();
$count = 0;
foreach ($_FILES as $key => $value) :
$file_name = is_array($value['name']) ? $value['name'][$count] : $value['name'];
$file_name = $this->global_functions->char_replace($file_name, '_');
$count++;
$config = array(
'allowed_types' => $allowed_type,
'upload_path' => $folder,
'file_name' => $file_name,
'max_size' => $max_size,
'max_width' => $max_width,
'max_height' => $max_height,
'remove_spaces' => TRUE
);
$this->load->library('image_lib');
$this->image_lib->clear();
$this->load->library('upload');
$this->upload->initialize($config);
if (!$this->upload->do_upload($key)) :
$error = array('error' => $this->upload->display_errors());
var_dump($error);
return FALSE;
else :
$file = $this->upload->data();
$files[] = $file['file_name'];
endif;
endforeach;
if(empty($files)):
return FALSE;
else:
return implode(',', $files);
endif;
}
此功能部分有效。文件正在上传到所选文件夹,但我收到此错误:您没有选择要上传的文件。并因此获得 FALSE ?什么似乎有问题? (表单使用 form_open_multipart )
答案 0 :(得分:1)
请确保您拥有此文件标记字段的名称:
$key='userfile' //which is name of input type field name
答案 1 :(得分:1)
发生这种情况时,您的任何文件输入是否为空?如果没有为输入指定文件,$_FILES
将包含一个“空”数据数组。例如,我的文件输入名称是one
,我在没有指定文件的情况下提交了它:
Array
(
[one] => Array
(
[name] =>
[type] =>
[tmp_name] =>
[error] => 4
[size] => 0
)
)
在处理上传之前,您应该检查文件数据是否为空。 PHP的is_uploaded_file()
对此非常有用。