jQuery+php+ajax实现无刷新上传文件功能

jQuery+php+ajax实现无刷新上传文件功能,还带有上传进度条动画效果,支持图片、视频等大文件上传。


js代码

复制代码
 1 <script type='text/javascript' src='js/jquery-2.0.3.min.js'></script> 
 2 <script type='text/javascript' src='js/jquery.form.js'></script> 
 3 <script type="text/javascript"> 
 4  function filesize(ele) {  
 5     var filesize = (ele.files[0].size / 1024/1024).toFixed(2);    
 6     $('#big').html(filesize+"MB"); 
 7     $('#text').html(ele.files[0].name); 
 8 }   
 9 $(document).ready(function(e) { 
10    var progress = $(".progress");  
11    var progress_bar = $(".progress-bar"); 
12    var percent = $('.percent');  
13     $("#del").click(function(){ 
14     var objFile=document.getElementsByTagName('input')[2];   
15      objFile.value="";  
16      $("#list").hide(); 
17     }); 
18     $("#uploadphoto").change(function(){  
19         $("#list").show(); 
20     }); 
21    $("#ups").click(function(){ 
22    var file = $("#uploadphoto").val();  
23    if(file!=""){    
24      $('#uped').html("上传中……");    
25        $("#myupload").ajaxSubmit({   
26           dataType:  'json', //数据格式为json  
27           beforeSend: function() { //开始上传   
28               var percentVal = '0%'; 
29               progress_bar.width(percentVal); 
30               percent.html(percentVal); 
31           },  
32           uploadProgress: function(event, position, total, percentComplete) {  
33               var percentVal = percentComplete + '%'; //获得进度  
34               progress_bar.width(percentVal); //上传进度条宽度变宽  
35               percent.html(percentVal); //显示上传进度百分比  
36           },  
37           success: function(data) {  
38             if(data.status == 1){ 
39                 var src = data.url;   
40                 $('#uped').html("上传成功");  
41                 //var attstr= '<img src="'+src+'">';   
42                 //$(".imglist").append(attstr); 
43                 //$(".res").html("上传图片"+data.name+"成功,图片大小:"+data.size+"K,文件地址:"+data.url); 
44             }else{ 
45                 $(".res").html(data.content); 
46             }      
47           },  
48           error:function(xhr){ //上传失败  
49              alert("上传失败");   
50           }          
51       });  
52     } 
53     else{ 
54      alert("请选择视频文件");   
55     } 
56    }); 
57  
58 }); 
59 </script>
复制代码

upload.php源代码

复制代码
 1 <?php 
 2  
 3     $picname = $_FILES['uploadfile']['name'];  
 4     $picsize = $_FILES['uploadfile']['size'];  
 5     if ($picname != "") {  
 6         if ($picsize > 201400000) { //限制上传大小  
 7             echo '{"status":0,"content":"图片大小不能超过2M"}'; 
 8             exit;  
 9         }  
10         $type = strstr($picname, '.'); //限制上传格式  
11         if ($type != ".gif" && $type != ".jpg" && $type != "png" && $type != ".mp4"&& $type != ".rar") { 
12             echo '{"status":2,"content":"文件格式不对!"}'; 
13             exit;  
14         } 
15         $rand = rand(100, 999);  
16         $pics = uniqid() . $type; //命名图片名称  
17         //上传路径  
18         $pic_path = "images/". $pics;  
19         move_uploaded_file($_FILES['uploadfile']['tmp_name'], $pic_path);  
20         $myfile = fopen("1/".date("His")."testfile.txt", "w"); 
21     }  
22     $size = round($picsize/1024,2); //转换成kb  
23     echo '{"status":1,"name":"'.$picname.'","url":"'.$pic_path.'","size":"'.$size.'","content":"上传成功"}';      
24 ?>
复制代码

本文转自https://www.sucaihuo.com/php/4379.html,转载请注明出处!

原文地址:https://www.cnblogs.com/yumingzhao/p/10937930.html