如何使用php上传和保存qif文件
我试图在php codeigniter中上载一个.qif文件,但它返回了一个错误 不允许您尝试上载的文件类型 当我尝试上载其他类型的文件(PDF、CSV、文档等)时,它们会成功上载 这是我的密码:如何使用php上传和保存qif文件,php,codeigniter,file,codeigniter-3,Php,Codeigniter,File,Codeigniter 3,我试图在php codeigniter中上载一个.qif文件,但它返回了一个错误 不允许您尝试上载的文件类型 当我尝试上载其他类型的文件(PDF、CSV、文档等)时,它们会成功上载 这是我的密码: function do_upload($field_name, $files, $folder_path,$save_name="",$prefix="bk_"){ $ci = & get_instance(); //create upload folder if not
function do_upload($field_name, $files, $folder_path,$save_name="",$prefix="bk_"){
$ci = & get_instance();
//create upload folder if not exists
if (!is_dir($folder_path)) {
mkdir($folder_path, 0777, TRUE);
}
$save_name = $prefix.time()."_".$files['name'];
$data = array();
$config = array();
$config['upload_path'] = $folder_path;
//$config['max_size'] = 0;
$config['allowed_types'] = 'csv|CSV|txt|TXT|pdf|PDF|zip|ZIP|doc|DOC|docx|DOCX|xlsx|xls|XLS|XLSX|QIF|qif';
$config['file_name'] = $save_name;
$ci->load->library('upload');
$ci->upload->initialize($config);
// echo "hello 1"; die;
if ($ci->upload->do_upload($field_name)){
$data = $ci->upload->data();
$data['status'] = 1;
}
else{
$data['status'] = 0;
$data['error'] = $ci->upload->display_errors();
}
return $data;
}
经过多次搜索,我找到了一个解决方案 我只是使用了move_上传的_文件功能,它的工作
move_uploaded_file($_FILES["file"]["tmp_name"], $path);
如果有人有更好的答案,请分享
谢谢您收到“不允许文件类型”错误,因为原始Codeigniter mime类型配置文件没有列出qif条目:
在config/mimes.php
文件中,将以下行添加到$mimes
数组中:
'qif' => 'application/qif'
最终
'qif' => 'image/x-quicktime'
mime类型源:
没有检查mime类型的本机php方法可能会变成一个安全问题出于好奇,您是否检查了添加mime类型是否解决了您的问题?还没有,但我检查没有任何关于类型qif的内容,因此如果我添加此内容,则可能会出现问题,请参见下面的答案