微信号:phpgod

介绍:本公众号对PHP开发技术进行全面透析,所含内容适合各个阶段的PHP developer阅读和收藏,既然关注了就一定会有收获.

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

2017-01-04 23:38 猿哥

本文实例讲述了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技术大全

PHPer升级为大神并不难!


 
PHP技术大全 更多文章 Swoole2.0正式版发布,协程特性支持PHP7 第1期-composer的版本约束备忘 原创计划-PHP技术大全 51CTO专题文章之DDoS攻击原理及防护方法论 亮灯问题-2016滴滴研发笔试题
猜您喜欢 梁胜 | 如何让Docker容器在企业中投产(下) 完整版:资深程序员都了解的代码复用法则 英语流利说后端基础组件演进 FIT2CLOUD成为AWS中国合作伙伴,助力企业在混合云环境下落地“AWS DevOps解决方案” Amazon、Facebook和Google的平台优势