我試圖讓一個基於AJAX的進度條。但是,我不知道如何計算上傳的數據量,我想以上傳數據的百分比來顯示。 謝謝如何查找已上傳了多少數據?
1
A
回答
2
您可以使用APC或PEAR包上傳進度。
http://pecl.php.net/package/uploadprogress
有一段時間沒有這樣做,我記得有作爲一個問題與WebKit和不得不使用iframe。可能想研究一下。
1
試試這個: -
演示網址: -
http://jquery.malsup.com/form/progress.html
你可以從這個網址下載jQuery的文件,並添加HTML標籤
http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js
http://malsup.github.com/jquery.form.js
試試這個:
這是我的HTML標記:
<!doctype html>
<head>
<title>File Upload Progress Demo #1</title>
<style>
body { padding: 30px }
form { display: block; margin: 20px auto; background: #eee; border-radius: 10px; padding: 15px }
.progress { position:relative; width:400px; border: 1px solid #ddd; padding: 1px; border-radius: 3px; }
.bar { background-color: #B4F5B4; width:0%; height:20px; border-radius: 3px; }
.percent { position:absolute; display:inline-block; top:3px; left:48%; }
</style>
</head>
<body>
<h1>File Upload Progress Demo #1</h1>
<code><input type="file" name="myfile"></code>
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="uploadedfile"><br>
<input type="submit" value="Upload File to Server">
</form>
<div class="progress">
<div class="bar"></div >
<div class="percent">0%</div >
</div>
<div id="status"></div>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script>
<script src="http://malsup.github.com/jquery.form.js"></script>
<script>
(function() {
var bar = $('.bar');
var percent = $('.percent');
var status = $('#status');
$('form').ajaxForm({
beforeSend: function() {
status.empty();
var percentVal = '0%';
bar.width(percentVal)
percent.html(percentVal);
},
uploadProgress: function(event, position, total, percentComplete) {
var percentVal = percentComplete + '%';
bar.width(percentVal)
percent.html(percentVal);
},
complete: function(xhr) {
bar.width("100%");
percent.html("100%");
status.html(xhr.responseText);
}
});
})();
</script>
</body>
</html>
我的PHP代碼:
<?php
$target_path = "uploads/";
$target_path = $target_path . basename($_FILES['uploadedfile']['name']);
if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
echo "The file ". basename($_FILES['uploadedfile']['name']).
" has been uploaded";
} else{
echo "There was an error uploading the file, please try again!";
}
?>
相關問題
- 1. 如何查找函數定義了多少個參數?
- 2. 如何顯示我們已經下載了多少數據
- 3. 如何知道用戶對SoundCloud上傳了多少次上傳?
- 4. 檢查已經過了多少天
- 5. 如何查找缺少的數據
- 6. PHP上傳輸入數組以及如何查找多少個文件?
- 7. 如何傳遞值('運行時已知'多少')到SQL查詢
- 8. 如何查找使用Java留下了多少磁盤空間?
- 9. 如何獲取到目前爲止上傳了多少字節?
- 10. Firebase數據過多壓扁了多少?
- 11. C#如何找到輸入了多少數字?
- 12. 二分查找做了多少次遞歸函數調用?
- 13. 如何找出在.Net項目中已寫入了多少行代碼
- 14. 如何查找上傳已完成 - Node Express
- 15. 在特定接收器處傳輸了多少數據
- 16. 計算已滾動了多少
- 17. 如何獲取有多少數據應用程序已下載?
- 18. 如何查看當前打開了多少個數字?
- 19. 如何確定在javascript中已經過了多少分鐘
- 20. 我如何計算使用DateTime已經過了多少時間?
- 21. 我如何計算我已經採取了多少次嘗試?
- 22. php,如何確定已經運行了多少代碼?
- 23. 使用a4j:poll來檢查已經下載了多少個文件
- 24. 如何在數組或mySQL表中查找缺少的數據?
- 25. Firebase數據庫 - 如何知道我使用了多少空間?
- 26. 如何「查找」查找數據
- 27. 如何查找隨機數組中有多少個值匹配?
- 28. Meteor.subscribe後,客戶端上加載了多少數據?
- 29. 如何查找字符串上有多少個數字和字母
- 30. 如何使用PHP檢查做了SQL數據庫已經有