用formData+ajax完成文件上传,PHP后台接收并做上传处理

一、HTML代码

<input type="file" name=img id='file'/>

<input type='text' name='code' id='code'>

<input type="button" onclick="submit()"/>

二、jquery代码

function submit(){

var formData=new formData();

formData.append('img',$('#file')[0].files[0])

formData.append("code",$("#code").val()),

$.ajax({

url:'load.php',

type:'post',

dataType:'text',

cache: false, //上传文件无需缓存

processData: false, //用于对data参数进行序列化处理 这里必须false

contentType: false, //必须

data:formData,

success:function(list){

console.log(list)

},

error:function(){

console.log("保存失败")

}

})

}

三、PHP代码

$files=$_FILES["img"];//文件详情

$data=$_POST;//其他文本框内容

if(!$files["error"]){//没有出错

//判断上传文件类型为png或jpg且大小不超过1024000B

if(($files["type"]=="image/png"||$files["type"]=="image/jpeg")&&$files["size"]<1024000){

//防止文件名重复

$filename ="templates/".time().$files["name"];

//检查文件或目录是否存在

if(!file_exists($filename))

{

$res=move_uploaded_file($files["tmp_name"],$filename);//将临时地址移动到指定地址

if($res){

$data['head_img']=$filename;//图片地址

}

}

}

}

用formData+ajax完成文件上传,PHP后台接收并做上传处理

相关推荐