使用php+apc实现上传进度条且在IE7下不显示的问题解决方法

yipeiwu_com5年前PHP代码库

今天整理以前写过的关于上传文件,并显示进度条的程序代码,对该代码进行优化整理。解决了一直困扰的问题:有时进度条没有达到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来计算某个目录大小的方法

PHP CURL session COOKIE 可以调用系统命令,还可以这样: 复制代码 代码如下: function dirsize($dir) { @$dh = opendir($d...

php数组操作之键名比较与差集、交集赋值的方法

本文实例讲述了php数组操作之键名比较与差集、交集赋值的方法。分享给大家供大家参考。具体方法如下: 该实例主要实现对数组的各种常见操作。如对键名比较计算数组的差集,计算差集,给指定数组中...

php 小乘法表实现代码

复制代码 代码如下:<?php for($i=1;$i<10;$i++) { for($j=1;$j<=$i;$j++) { $result = $i*$j; if(s...

apache中为php 设置虚拟目录

apache中为php 设置虚拟目录

php 设置虚拟目录两个步骤,很简单。 第一,打开安装apache目录下的conf下面的httpd.conf文件。 找到IfModule 标记, 再它下面添加红色方框中的内容。注意不能...

PHP依赖注入原理与用法分析

本文实例讲述了PHP依赖注入原理与用法。分享给大家供大家参考,具体如下: 引言 依然是来自到喜啦的一道面试题,你知道什么是依赖注入吗? 依赖注入(DI)的概念虽然听起来很深奥,但是如果你...