本文執行個體講述了php上傳檔案並顯示上傳進度的方法。分享給大家供大家參考。具體如下:
記得上傳檔案的時候要大點,不然還沒看出來就上傳完了,並且上傳的檔案不要太大,上G的就算了,2G的我試了,PHP受不了,我測試的是300多M的,記得要調整小php.ini參數啊 “選檔案=》提交=》擷取資訊”要一氣呵成哦^ ^
<?php$prefix = ini_get('session.upload_progress.prefix');$name = ini_get('session.upload_progress.name');$key = $prefix . $name;session_start();if (isset($_POST['get_info'])) { $logo = $prefix . $_POST['logo']; exit(json_encode($_SESSION[$logo]));} elseif ($_POST) { echo '<script>var finashed = true;</script>';}?><div id="show_info_div"></div><form action="index.php" method="POST" enctype="multipart/form-data"> <input type="hidden" name="<?php echo $name; ?>" value="test"> <input type="file" name="file"><br> <input type="submit" value="提交"> <input type="button" value="擷取資訊" onclick="getUploadInfo()"></form><script src="jquery.js"></script><script>var sto = null;var progress = null;function getUploadInfo(){ $.post("index.php", {"get_info": 1, "logo": "test"}, function(data) { data = eval("(" + data + ")"); progress = parseInt(parseInt(data.bytes_processed) * 10000 / parseInt(data.content_length)) / 100 + "%"; document.getElementById("show_info_div").innerHTML = progress; sto = setTimeout("getUploadInfo()", 1000); });}if (typeof(finashed) !== "undefined"){ document.getElementById("show_info_div").innerHTML = "100.00% (上傳成功!)";}</script>
希望本文所述對大家的php程式設計有所協助。