首页 > 开发 > PHP > 正文

php上传文件并显示上传进度的方法

2024-05-04 23:33:17
字体:
来源:转载
供稿:网友

这篇文章主要介绍了php上传文件并显示上传进度的方法,实例分析了php传输文件及显示传输进度的技巧,非常具有实用价值,需要的朋友可以参考下

本文实例讲述了php上传文件并显示上传进度的方法。分享给大家供大家参考。具体如下:

记得上传文件的时候要大点,不然还没看出来就上传完了,并且上传的文件不要太大,上G的就算了,2G的我试了,PHP受不了,我测试的是300多M的,记得要调整小php.ini参数啊 “选文件=》提交=》获取信息”要一气呵成哦^ ^

 

 
  1. <?php 
  2. $prefix = ini_get('session.upload_progress.prefix'); 
  3. $name = ini_get('session.upload_progress.name'); 
  4. $key = $prefix . $name
  5. session_start(); 
  6. if (isset($_POST['get_info'])) { 
  7. $logo = $prefix . $_POST['logo']; 
  8. exit(json_encode($_SESSION[$logo])); 
  9. elseif ($_POST) { 
  10. echo '<script>var finashed = true;</script>'
  11. ?> 
  12. <div id="show_info_div"></div> 
  13. <form action="index.php" method="POST" enctype="multipart/form-data"
  14. <input type="hidden" name="<?php echo $name; ?>" value="test"
  15. <input type="file" name="file"><br> 
  16. <input type="submit" value="提交"
  17. <input type="button" value="获取信息" onclick="getUploadInfo()"
  18. </form> 
  19. <script src="jquery.js"></script> 
  20. <script> 
  21. var sto = null; 
  22. var progress = null; 
  23. function getUploadInfo() 
  24. $.post("index.php", {"get_info": 1, "logo""test"}, function(data) 
  25. data = eval("(" + data + ")"); 
  26. progress = parseInt(parseInt(data.bytes_processed) * 10000 / parseInt(data.content_length)) / 100 + "%"
  27. document.getElementById("show_info_div").innerHTML = progress; 
  28. sto = setTimeout("getUploadInfo()", 1000); 
  29. }); 
  30. if (typeof(finashed) !== "undefined"
  31. document.getElementById("show_info_div").innerHTML = "100.00% (上传成功!)"
  32. </script> 

希望本文所述对大家的php程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表