jQuery+php+ajax實現無刷新上傳文件功能,還帶有上傳進度條動畫效果,支持圖片、視頻等大文件上傳。javascript
js代碼php
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源代碼html
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,轉載請註明出處!java