zoukankan      html  css  js  c++  java
  • 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,转载请注明出处!

  • 相关阅读:
    LeetCode15 3Sum
    LeetCode10 Regular Expression Matching
    LeetCode20 Valid Parentheses
    LeetCode21 Merge Two Sorted Lists
    LeetCode13 Roman to Integer
    LeetCode12 Integer to Roman
    LeetCode11 Container With Most Water
    LeetCode19 Remove Nth Node From End of List
    LeetCode14 Longest Common Prefix
    LeetCode9 Palindrome Number
  • 原文地址:https://www.cnblogs.com/woleyia/p/10933474.html
Copyright © 2011-2022 走看看