不刷新页面的PHP与Jquery AJAX文件上传

这里只拿图片上传做例子:

前端页面

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>多文件上传</title>
    </head>
    <body>
         <input id= "formfiles"  type="file" multiple />
          <br />
         <button id="sub_btn">提交</button> 
    </body>
    <script src="./js/jquery-3.1.1.min.js"></script>
    <script src="./js/form.js"></script>
</html>

js代码

$(document).ready(function(){
	$('#sub_btn').click(function(){
		var pic_data = new FormData();
		var filenum = $('#formfiles').get(0).files.length;
		for(var i = 0; i < filenum; i++){
			pic_data.append(i,$('#formfiles').get(0).files[i]);
		}
		
		$.ajax(
		{
			url:"./uploads.php",
			type: "POST",
			processData:false,
			contentType:false,
			data:pic_data,
			success:function(data){
				
				alert(data);
			}
		}
		);
	});
	
});



PHP代码

<?php
$file = $_FILES;
$num = count($file);
$result ='';
for($i=0;$i<$num;$i++){
    if(is_uploaded_file($file[$i]['tmp_name'])){
        
        $allowExt = array("image/png","image/gif","image/jpeg","image/jpg");
        if(!in_array($file[$i]['type'],$allowExt)){
            echo "不允许的类型<br />";
            continue;
        }
        
        $path = "./uploads/";
        $fname = date('YmdHis').rand(1000,9999);
        $ext = array_pop(explode('.',$file[$i]['name']));
        $newFile = $path.$fname.'.'.$ext;
        if(move_uploaded_file($file[$i]['tmp_name'],$newFile)){
            $n = $i + 1;
            $result = $result. "上传第{$n}张图片成功|";
        }else{
            $n = $i + 1;
            $result = $result."上传第{$n}张图片失败|";
        }
    }
}

echo $result;




  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值