//jquery用ajax上传表单,及后台处理中文名编码

1、前端
//给id值为sub的元素绑定点击事件

$('#sub').click(function(){

//获取表单元素,

var form = new FormData($('#myform')[0]);

//ajax发送

$.ajax({

type: 'POST',   //发送方式

url:"{:U('addUser')}",  //发送url

data:form,    //发送表单

processData:false,  //序列化data

contentType:false,  //避免jquery对其操作

success:function(data){   //请求成功回调函数

alert(data.msg);

},

error:function(){     //请求失败回调函数

alert('请求失败');

}

})

})

 

2、后端

//获取文件后缀,判断是否符合规范

exlode('.',$_FILES['file']['name']);

end($arr);

in_array($fileName,$accessFileName);

 

//文件转移,处理中文乱码,将UTF-8格式转为gb2312

move_upload_file($_FILES['file']['tem_name'],iconv('UTF-8','gb2312',$fileName));

 

//jquery中的$("#id")与document.getElementById("id")的区别

1)$('#id') 得到的是一个 [object Object]

2)document.getElementById("id") 得到的是一个 [object HTMLDivElement]

3)$("#id")与$("#id").get(0) 得到的是一个 [object HTMLDivElement]

4)也就是说,$("#id")与$("#id").get(0)等效于document.getElementById("id")

 

//修改Ueditor的文件上传限制

配置文件:Ueditor/php/config.json

//后台php的文件上传限制

配置文件:php.ini中的upload选项

//linux中重启php服务:service php-fpm restart

欢迎留言