2013-05-14 273 views
1

我想使用文件上傳進度。任何人都可以提供簡單的代碼 來顯示上傳過程欄。在下一個代碼。 有文件接收文件upload.php的php文件上傳帶有進度條或數量百分比

<?php 
if ($_FILES) { 
    foreach ($_FILES as $k => $v) { 
     if ($v["error"] > 0) { 
      echo "Error: " . $_FILES["file"]["error"] . "<br>"; 
     } else { 
      echo "Upload: " . $v["name"] . "<br>"; 
      echo "Type: " . $v["type"] . "<br>"; 
      echo "Size: " . ($v["size"]/1024) . " kB<br>"; 
      echo "Stored in: " . $v["tmp_name"]. "<br><br>"; 
     } 
    } 
    return; 
} 
?> 

而且有文件上傳形式的HTML。

<!DOCTYPE html> 
<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <title>Upload</title> 
    </head> 
    <body> 
     <form action="upload.php" method="post" enctype="multipart/form-data"> 
      <label for="f1">Filename:</label> 
      <input type="file" name="f1" id="f1"><br> 
      <label for="f2">Filename:</label> 
      <input type="file" name="f2" id="f2"><br> 
      <input type="submit" name="submit" value="Submit"> 
     </form> 
    </body> 
</html> 

謝謝

+0

哪個php版本是你用的? – alwaysLearn 2013-05-14 08:39:44

+0

也許你可以在JavaScript端處理它...查看http://stackoverflow.com/questions/15410265/file-upload-progress-bar-with-jquery – smarques 2013-05-14 08:44:49

回答

0

這樣做是爲了使用jQuery插件uploadify,其中包括swfobject的,並顯示文件上傳進度條的最簡單方法。這是一種上傳多個文件的美麗方式。

的jQuery插件uploadify:

http://www.uploadify.com/

如果你想這樣做你自己的方式,你需要服務器端的兼容性,一些nginx的或Apache2的模塊,它可以處理上傳進度。並且您的客戶端應在所有上傳過程中向服務器發出請求以獲取有關它的所有信息。

0

你可以使用jQuery表單插件來實現這一點。 只需將jQuery Form插件添加到您的頁面頭部分即可。你可以使用下面的代碼。

$(function() { 
$(document).ready(function(){ 
var percent = $('#percent'); 
var status = $('#status'); 
$('form').ajaxForm({ 
beforeSend: function() { 
status.empty(); 
var percentVal = '0%'; 
percent.html(percentVal); 
}, 
uploadProgress: function(event, position, total, percentComplete) { 
var percentVal = percentComplete + '%'; 
percent.html(percentVal); 
}, 
complete: function(xhr) { 
status.html(xhr.responseText); 
} 
}); 
}); 
}); 

我從這裏得到了File Upload Progress Bar教程。它工作得很好。