首页 > 编程 > PHP > 正文

PHP导入进度条类

2020-03-22 17:09:55
字体:
来源:转载
供稿:网友
这篇文章主要介绍了关于PHP导入进度条类,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

最近在做一个客户导入的功能,整理的一个导入的进度条类:

 ?php * @File name: Loading.php * @Author: jiumi.jin * @Create time: 10/11/2012 * @Main function: loadinghtml' target='_blank'>class Loading { private $width = 500; private $total = 0; private $start_time; private $faileLines = array(); private $faileCounter = 0; * 构造 * @param 进度条长度 $width * @param 要处理的数据长度 $length public function __construct($param){ ob_start(); //$this- width = $width; $this- total = $param[ length  $this- start_time = time(); ob_end_clean(); * 执行进度跟踪 * @param $num 执行的数据点,这个数字应该是0 到 数据的总长度 * @return bool public function run($num){ $successNum = $num - $this- faileCounter; $percent = number_format($num / $this- total * 100,2) . %  echo script updatePercent( $successNum ,$this- faileCounter, $percent /script  print str_pad( ,100000); ob_flush(); return true; * 占用内存跟踪 * @param $i 进度 * @param $progress_mem 占用内存 * @return bool public function run_mem($i,$progress_mem){ echo script showMem($i,$progress_mem); /script  print str_pad( ,100000); ob_flush(); return true; * 设置出错的点 * 例如导入excel的时候,有不符合模板规范的行数可以在这里设置 * @param $line 错误行数 * @param $errMes 错误信息 public function setFaileLine($line,$errMes){ $line = intval($line); if ($line != 0) { $this- faileCounter++; $this- faile = true; $this- faileLines[$this- faileCounter][ line ] = $line; $this- faileLines[$this- faileCounter][ errMessage ] = $errMes; echo script showErr( .$this- getFaileLine(). /script  print str_pad( ,100000); ob_flush(); return true; public function getFaileCounter(){ return $this- faileCounter; * 获取出错的点 * @return string $html public function getFaileLine(){ $html =  if(!empty($this- faileLines)){ foreach($this- faileLines as $failline){ $html .= 错误位置: .$failline[ line ]. , 错误信息: .$failline[ errMessage ]. br/  }else{ $html .= 没有错误信息  return $html; * echo出进度条的html页面和js函数 * 应该在实例化类后立刻执行此方法,否则会失败 * @return unknown public function createHtml(){ echo !DOCTYPE html PUBLIC / -//W3C//DTD XHTML 1.0 Transitional//EN/ / http://www.w3.org/TR/xhtml1/DTD/transitional.dtd/  html  head  script  function updatePercent(have_process,errCount,percent){ document.getElementById( msg ).innerHTML = 成功处理了 +have_process+ 条数据  document.getElementById( errMsg ).innerHTML = 失败 +errCount+ 条数据  document.getElementById( progress ).style.width = percent; document.getElementById( percent ).innerHTML = percent; if(document.getElementById( progress ).style.width == 100% ){ document.getElementById( percent ).innerHTML = 处理完毕!  stop(); function showErr(msg){ document.getElementById( allErr ).innerHTML = msg; //计时 var CallTimeLen = / 0/  var timer1 = null; function start(){ var hour=/ 0/  var minute=/ 0/  var second=/ 0/  CallTimeLen = parseInt(CallTimeLen)+1; hour = parseInt(CallTimeLen/3600); minute = parseInt(CallTimeLen/60); second = CallTimeLen%60; document.getElementById( time_h ).innerHTML = hour; document.getElementById( time_m ).innerHTML = minute; document.getElementById( time_s ).innerHTML = second; window.timer1 = window.setTimeout(/ start()/ ,1000); setTimeout(/ start()/ ,0); function stop(){ clearTimeout(window.timer1); function showMem(i,progress){ document.getElementById( showM ).innerHTML = _____ +i+ : +progress; /script  /head  body  p >

CI框架的调用:

$this- load- library( loading ,array( length = $totle)); //加载进度条类,这是CI框架$this- loading- createHtml();//$start_mem = memory_get_usage();foreach($customers as $key= $customer){ $return = $this- insert_import($customer); if($return != 1){ $this- loading- setFaileLine($key+1,$return); //记录错误 }else{ $this- loading- run($key+1); //成功进度条 //$progress_mem = memory_get_usage(); //$this- loading- run_mem($key,$progress_mem-$start_mem); //测试查看内存使用情况的}

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP !

相关推荐:

php 抓取网页内容与图片的方法

php打包zip图片下载的方法

php web请求安全处理

以上就是PHP导入进度条类的详细内容,PHP教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表