2014-02-20 29 views
0

看完后this我觉得我的上传脚本有一个进度条(已经完成并正在工作),我尝试了一下,但我不是很熟练,我也做不到。这里是我的upload.php脚本:如何在PHP中获得进度条?

if (isset($_FILES['files_to_upload'])){ 
//some checks 
if(is_uploaded_file($_FILES['files_to_upload']['tmp_name'])) 
{ 
if (move_uploaded_file($_FILES['files_to_upload']['tmp_name'] , '/mnt/uploads' . $_FILES['files_to_upload']['name'])){ 
    echo '<script>alert("' . $_FILES['files_to_upload']['name'] . ' uploaded!")</script>'; 
} 
} 

,在这里我的HTML:

<html> 
<body> 
    <form action="upload.php" method="post" enctype="multipart/form-data"> 
    <input type="file" name="files_to_upload"> 
    <input type="submit" value="upload"> 
    </form> 
</body> 
</html> 

谁能照亮了我如何可以实现一个进度条,好吗?

回答

1

您应该使用Ajax:

$.ajax({ 
      xhr: function() 
       { 
       var xhr = new window.XMLHttpRequest(); 
       //Upload progress 
       xhr.upload.addEventListener("progress", function(evt){ 
        if (evt.lengthComputable) { 
        var percentComplete = evt.loaded/evt.total; 
        //Do something with upload progress 
        $('.percent').width(percentComplete * 100 + '%'); 
        console.log(percentComplete); 
        } 
       }, false); 
       //Download progress 
       xhr.addEventListener("progress", function(evt){ 
        if (evt.lengthComputable) { 
        var percentComplete = evt.loaded/evt.total; 
        // 
        $('.percent').width(percentComplete * 100 + '%'); 
        console.log(percentComplete); 
        } 
       }, false); 
       return xhr; 
       },  
      url: formURL, 
      type: method, 
      data: formData, 
      . 
      . 
      . 

      }); 
      <div class="percent" style="background:#000;width:0%;height:10px;"></div> 

当文件上传或(下载)$('.percent').width(percentComplete * 100 + '%');设置precent股利width