php上传文件并显示上传进度的方法
作者:songguo
这篇文章主要介绍了php上传文件并显示上传进度的方法,实例分析了php传输文件及显示传输进度的技巧,非常具有实用价值,需要的朋友可以参考下
本文实例讲述了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程序设计有所帮助。
您可能感兴趣的文章:
- php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
- PHP使用HTML5 FileApi实现Ajax上传文件功能示例
- php+html5实现无刷新图片上传教程
- 使用PHP和HTML5 FormData实现无刷新文件上传教程
- php+html5+ajax实现上传图片的方法
- php+html5使用FormData对象提交表单及上传图片的方法
- php 使用html5实现多文件上传实例
- PHP 文件上传进度条的两种实现方法的代码
- php实现简单的上传进度条
- PHP+Ajax无刷新带进度条图片上传示例
- PHP+Ajax实现上传文件进度条动态显示进度功能
- php 使用html5 XHR2实现上传文件与进度显示功能示例