php+javascript实现的动态显示服务器运行程序进度条功能示例


Posted in PHP onAugust 07, 2017

本文实例讲述了php+javascript实现的动态显示服务器运行程序进度条功能。分享给大家供大家参考,具体如下:

经常有这样的业务要处理,服务器上有较多的业务需要处理,需要分批操作,于是就需要一个提示客户现在完成进度的进度条。

这个是php+javascript的进度条。

<?php
//set_time_limit(0);    //注意,如果是安全模式,请不要打开,如果不是安全模式,这个选项可以打开
for ($i = 0; $i < 500; $i++) {
  $users[] = 'Tom_' . $i;
}  //end for
$width = 500;            //显示的进度条长度,单位 px
$total = count($users);       //总共需要操作的记录数
$pix = $width / $total;       //每条记录的操作所占的进度条单位长度
$progress = 0;           //当前进度条长度
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/transitional.dtd">
<html>
<head>
  <title>动态显示服务器运行程序的进度条</title>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <style>
  body, div input { font-family: Tahoma; font-size: 9pt }
  </style>
  <script language="JavaScript">
  <!--
  function updateProgress(sMsg, iWidth)
  {
    document.getElementById("status").innerHTML = sMsg;
    document.getElementById("progress").style.width = iWidth + "px";
    document.getElementById("percent").innerHTML = parseInt(iWidth / <?php echo $width; ?> * 100) + "%";
   }
  //-->
  </script>
</head>
<body>
<div style="margin: 4px; padding: 8px; border: 1px solid gray; background: #EAEAEA; width: <?php echo $width+8; ?>px">
  <div><font color="gray">如下进度条的动态效果由服务器端 PHP 程序结合客户端 JavaScript 程序生成。</font></div>
  <div style="padding: 0; background-color: white; border: 1px solid navy; width: <?php echo $width; ?>px">
  <div id="progress" style="padding: 0; background-color: #FFCC66; border: 0; width: 0px; text-align: center;  height: 16px"></div>
  </div>
  <div id="status"> </div>
  <div id="percent" style="position: relative; top: -30px; text-align: center; font-weight: bold; font-size: 8pt">0%</div>
</div>
<?php
flush();  //将输出发送给客户端浏览器
foreach ($users as $user) {
  //   在此处使用空循环模拟较为耗时的操作,实际应用中需将其替换;
  //   如果你的操作不耗时,我想你就没必要使用这个脚本了 :)
  //   请在这里处理你的业务
  for ($i = 0; $i < 1000000; $i++) {
    ;;
   }
?>
<script language="JavaScript">
  updateProgress("正在操作用户“<?php echo $user; ?>” ....", <?php echo min($width, intval($progress)); ?>);
</script>
<?php
  flush();  //将输出发送给客户端浏览器,使其可以立即执行服务器端输出的 JavaScript 程序。
  $progress += $pix;
}  //end foreach
//  最后将进度条设置成最大值 $width,同时显示操作完成
?>
<script language="JavaScript">
  updateProgress("操作完成!", <?php echo $width; ?>);
</script>
<?php
flush();
?>
</body>
</html>

运行效果如下:

php+javascript实现的动态显示服务器运行程序进度条功能示例

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
php模拟asp中的XmlHttpRequest实现http请求的代码
Mar 24 PHP
php导出excel格式数据问题
Mar 11 PHP
PHP使用GIFEncoder类生成gif动态滚动字幕
Jul 01 PHP
PHP把MSSQL数据导入到MYSQL的方法
Dec 27 PHP
windows中为php安装mongodb与memcache
Jan 06 PHP
关于PHP开发的9条建议
Jul 27 PHP
实例简介PHP的一些高级面向对象编程的特性
Nov 27 PHP
thinkPHP5 tablib标签库自定义方法详解
May 10 PHP
thinkphp5 加载静态资源路径与常量的方法
Dec 24 PHP
php中通用的excel导出方法实例
Dec 30 PHP
PHP实现可添加水印与生成缩略图的图片处理工具类
Jan 16 PHP
ThinkPHP5.0框架结合Swoole开发实现WebSocket在线聊天案例详解
Apr 02 PHP
php封装的mongodb操作类代码
Aug 06 #PHP
php批量转换文件夹下所有文件编码的函数类
Aug 06 #PHP
php mysql数据库操作类(实例讲解)
Aug 06 #PHP
PHP基于自定义类随机生成姓名的方法示例
Aug 05 #PHP
PHP实现腾讯与百度坐标转换
Aug 05 #PHP
laravel5.4生成验证码的实例讲解
Aug 05 #PHP
CakePHP框架Model函数定义方法示例
Aug 04 #PHP
You might like
php设计模式 Strategy(策略模式)
2011/06/26 PHP
php入门学习知识点六 PHP文件的读写操作代码
2011/07/14 PHP
Linux Apache PHP Oracle 安装配置(具体操作步骤)
2013/06/17 PHP
windows服务器中检测PHP SSL是否开启以及开启SSL的方法
2014/04/25 PHP
详解yii2使用多个数据库的案例
2017/06/16 PHP
JavaScript面象对象设计
2008/04/28 Javascript
js实时监听文本框状态的方法
2011/04/26 Javascript
拥抱模块化的JavaScript
2012/03/07 Javascript
jquery 延迟执行实例介绍
2013/08/20 Javascript
jQuery 1.9移除了$.browser可以使用$.support来替代
2014/09/03 Javascript
javascript实现切换td中的值
2014/12/05 Javascript
JS+CSS实现的竖向简洁折叠菜单效果代码
2015/10/22 Javascript
基于vue实现分页/翻页组件paginator示例
2017/03/09 Javascript
js编写选项卡效果
2017/05/23 Javascript
vue 实现复制内容到粘贴板clipboard的方法
2018/03/17 Javascript
JS实现常见的查找、排序、去重算法示例
2018/05/21 Javascript
vscode下vue项目中eslint的使用方法
2019/01/13 Javascript
JavaScript中十种一步拷贝数组的方法实例详解
2019/04/22 Javascript
微信小程序蓝牙连接小票打印机实例代码详解
2019/06/03 Javascript
微信小程序实现签到弹窗动画
2020/09/21 Javascript
vue内置组件keep-alive事件动态缓存实例
2020/10/30 Javascript
[01:48]帕吉至宝加入游戏,遗迹战场现“千劫神屠”
2018/04/07 DOTA
python实现控制电脑鼠标和键盘,登录QQ的方法示例
2019/07/06 Python
Django多数据库配置及逆向生成model教程
2020/03/28 Python
python 多线程共享全局变量的优劣
2020/09/24 Python
详解CSS3 弹性布局快速入门
2019/06/06 HTML / CSS
写好求职应聘自荐信的三部曲
2013/09/21 职场文书
药品质量检测应届生求职信
2013/11/14 职场文书
海洋科学专业求职信
2014/08/10 职场文书
校运动会广播稿300字
2014/10/07 职场文书
秋收起义观后感
2015/06/11 职场文书
第一军规观后感
2015/06/12 职场文书
python小程序之飘落的银杏
2021/04/17 Python
python非标准时间的转换
2021/07/25 Python
使用logback实现按自己的需求打印日志到自定义的文件里
2021/08/30 Java/Android
Win11无法访问设备和打印机 如何解决页面空白
2022/04/09 数码科技