加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_丽江站长网 (http://www.0888zz.com/)- 科技、建站、数据工具、云上网络、机器学习!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP利用APC模块实现大文件上传进度条的技巧

发布时间:2022-07-18 14:51:16 所属栏目:PHP教程 来源:互联网
导读:这篇文章主要介绍了PHP利用APC模块实现大文件上传进度条的方法,并分享了相关配置说明,感兴趣的朋友可以学习借鉴。 在使用apc时候,先必须使用安装apc 模块。 第一步:下载php_apc.dll 第二步:让php.ini支持apc扩展模块。 将php_apc.dll放入你的ext目录,
  这篇文章主要介绍了PHP利用APC模块实现大文件上传进度条的方法,并分享了相关配置说明,感兴趣的朋友可以学习借鉴。
 
 
  在使用apc时候,先必须使用安装apc 模块。
 
  第一步:下载php_apc.dll
 
  第二步:让php.ini支持apc扩展模块。
 
  将php_apc.dll放入你的ext目录,然后打开php.ini 加入:
 
  extension=php_apc.dll
 
  if (function_exists('apc_fetch')) {
  echo 'it surpport apc model!';
  } else {
  echo "it's not support apc model!";
  }
  下面进入正题:
 
  原理:通过APC 模块,用ajas从缓存中读取上传的进度,详见:
 
  index.php
 
  <?php
   $unid=uniqid("");//确定唯一标致,实现多人同时上传
  ?>
  <div class="userinput2">
   <div id="captions">先将你要上传的软件上传服务器,上传时请耐心等候...<span class="style1"><br />
   </span>
   <script type="text/javascript" >
   var xmlHttp;
   var proNum=0;
   var loop=0;
   //初始化xmlHttp
   function createxml(){
   var xmlHttp;
   if(window.XMLHttpRequest){
   xmlHttp=new XMLHttpRequest();
   }else{
   xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
   }
   return xmlHttp;
   }
    }else{
   xmlHttp.onreadystatechange = doHttpReadyStateChange;
   xmlHttp.send("progress_key=<?php echo $unid;?>");
   }
   }
   //回调函数
   function doHttpReadyStateChange() {
   if (xmlHttp.readyState== 4){
   proNum=parseInt(xmlHttp.responseText);
   //alert(proNum);
   document.getElementByIdx_x("progressinner").style.width = proNum+"%";
   document.getElementByIdx_x("showNum").innerHTML = proNum+"%";
   if ( proNum < 100){
   setTimeout("sendURL()", 200);
   }else{
   //上传成功后,还不能及时得到信息。还希望高人指点
   document.getElementByIdx_x("progressouter").style.display="none";
   document.getElementByIdx_x("progressinner").style.display="none";
   document.getElementByIdx_x("showNum").style.display="none";
   document.getElementByIdx_x("theframe").style.display="none";
   document.getElementByIdx_x("link2").style.display="block";
   }
     
    </script>
   <iframe id="theframe" name="theframe" src="softupload.php?id=<?php echo($unid); ?>" style="border: 0; height: 80px; width: 400px; " frameborder="0" scrolling="no" > </iframe>
   <input name="linkdefult" type="hidden" id="linkdefult" value="0" />
   <br />
   <div id="link2" style="display:none;" > <font size=2>上传成功!    文件大小为:
   <input type="text" name="filesize" id="filesize" style="width:50px;"/>
   </font><br>
   <br>
   <font size=2>文件下载地址为:</font><br />
   <input type=text name='link' id='link' style='width:380px;' />
   </div>
   <br/>
   <div id="progressouter" style="width: 500px; height: 20px; border: 1px solid #000000; display:none;">
   <div id="progressinner" style="position: relative; height: 20px; background-color: #333333; width: 0%; "></div>
   </div>
   <div id='showNum' style="font-size:12px; color:#333333"></div>
   </div>
  </div> 

(编辑:应用网_丽江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读