使用php+apc实现上传进度条且在IE7下不显示的问题解决方法
今天整理以前写过的关于上传文件,并显示进度条的程序代码,对该代码进行优化整理。解决了一直困扰的问题:有时进度条没有达到100%,浏览器出现假死现象。在IE8、chrome测试非常完美。
项目需求:
上传APK,显示上传进度条,上传完成开始分析APK,并显示:正在分析apk数据,请稍后... ,分析完成后,显示:上传成功,重新上传
由于我电脑装的是winxp英文版,IE默认的是IE7,在测试的时候发现进度条不显示。百分比也不显示。
排除问题:
1、将DOM改成jquery方式,不显示
2、给递归调用加上延时,不显示。加上延时代码:setTimeout("getProgress('"+upid+"')",500);
3、是否是容器层次问题导致?于是测试是否执行上传期间模块。在页面中随便加个容器,写个全局变量i,在上传期间调用的模块中写入到该容器i++,显示,说明正确调用
4、即然显示,进度条和百分比都为0,是不是接收的json数据有问题?
由于我返回的代码为:echo json_encode($arr); 本身就为json数据,但为了找出原因,将返回的数据在执行一次:var dataObj=eval("("+data+")");//转换为json对象
显示脚本错误。
5、难道是缓存?于是将
$.getJSON("ProcessBar.php",{progress_key:upid},function(result){
改为:
$.getJSON("ProcessBar.php",{progress_key:upid,time:(new Date()).getTime()},function(result){
完美解决问题。
相关文章
php mysql procedure实现获取多个结果集的方法【基于thinkPHP】
这篇文章主要介绍了php mysql procedure实现获取多个结果集的方法,基于thinkPHP实现针对数据库多个结果集的相关操作技巧,需要的朋友可以参考下2016-11-11在windows服务器开启php的gd库phpinfo中未发现
在windows服务器开启php的gd库时,使用cgi之后phpinfo()得到的结果中 Configure Command 中并没有出现gd,很是疑惑,于是搜集了一些,希望对你们有帮助,感兴趣的朋友可以了解下2013-01-01php获得客户端浏览器名称及版本的方法(基于ECShop函数)
这篇文章主要介绍了php获得客户端浏览器名称及版本的方法,基于ECShop函数get_user_browser实现该功能,非常具有实用价值,需要的朋友可以参考下2015-12-12PHP学习记录之面向对象(Object-oriented programming,OOP)基础【类、对象、继承等】
这篇文章主要介绍了PHP学习记录之面向对象(Object-oriented programming,OOP)基础,结合实例形式分析了PHP类、对象、继承等相关概念、原理、使用技巧及操作注意事项,需要的朋友可以参考下2019-12-12
最新评论