使用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){

完美解决问题。

相关推荐:

Python中实现与PHP完全一致的ICU音译规则转换器

本文介绍如何使用PyICU在Python中精确复现PHPTransliterator::createFromRules()的音译行为,包括NFD/NFC规范化、去除非间距符号与标点、转小写等完整ICU规则链,确保跨语言环境下的字符串转换结果100%一致。 本文介绍如何使用pyicu在python中精...

php运行python脚本失败怎么解决

PHP调用Python失败主因是环境、权限、路径或错误捕获问题;需确认Python路径、用绝对路径调用、检查www-data用户权限、重定向stderr获取真实错误,并排查disable_functions等安全限制。 PHP运行Python脚本失败,通常不是PHP或Python本身坏了,而是执行环...

redis怎么使用php

问题:如何在php中使用redis?安装redisphp扩展。连接到redis服务器,使用redis类。存储和检索数据,支持字符串、散列、列表和集合等类型。使用其他命令,如检查键是否存在、删除键和设置键的过期时间。使用完redis后关闭连接。 如何在PHP中使用Redis Redis是一个高度可扩展...

PHP 如何连接 MySQL 数据库?

PHP如何连接MySQL数据库 PHP通过连接MySQL客户端来操作MySQL数据库。当PHP程序执行时,它将连接到MySQL客户端,由客户端将PHP的请求传递给MySQL服务端。 MySQL服务端是一个数据库管理器,负责处理数据库操作,存储和管理数据。PHP程序通过客户端与服务端通信,向服务端发送...

德森PHP

DecenPHP已达到版本1.4。现在,使用PHP和MySQL/MariaDB可以轻松地在数据库中搜索文件或链接。 “但是,DecenPHP是什么?” DecenPHP提供了一种简单的方法来搜索网站和HTTP服务器上托管的文件。这可以通过MySQL数据库(仅存储链接和URL)或通过直接访问网站以检索...

PHP常用语法有哪些

本篇内容主要讲解“PHP常用语法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP常用语法有哪些”吧!PHP是一款功能强大的嵌入式HTML脚本语言,经常被程序员用来作为网站开发的基础语言。我们在这里就为大家介绍一些PHP常用语法,以帮助大家对PH...