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 获得汉字拼音首字母的函数
Aug 01 PHP
完美实现GIF动画缩略图的php代码
Jan 02 PHP
比较简单实用的PHP无限分类源码分享(思路不错)
Oct 13 PHP
PHP怎么实现网站保存快捷方式方便用户随时浏览
Aug 15 PHP
PHP访问Google Search API的方法
Mar 05 PHP
PHP实现无限分类的实现方法
Nov 14 PHP
简单实现php上传文件功能
Sep 21 PHP
PHP使用正则表达式实现过滤非法字符串功能示例
Jun 04 PHP
在php的yii2框架中整合hbase库的方法
Sep 20 PHP
PHP yield关键字功能与用法分析
Jan 03 PHP
php swoft框架实例用法
Dec 22 PHP
laravel ajax curd 搜索登录判断功能的实现
Apr 17 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页面缓存ob系列函数介绍
2012/10/18 PHP
PHP array_reverse() 函数原理及实例解析
2020/07/14 PHP
javascript 字符 Escape,encodeURI,encodeURIComponent
2009/07/09 Javascript
Javascript 汉字字节判断
2009/08/01 Javascript
怎样在JavaScript里写一个swing把数据插入数据库
2012/12/10 Javascript
JavaScript实现网页上的浮动广告的简单方法
2013/06/14 Javascript
实测jquery data()如何存值
2013/08/18 Javascript
javascript中setTimeout的问题解决方法
2014/05/08 Javascript
原生js的弹出层且其内的窗口居中
2014/05/14 Javascript
jQuery实现为图片添加镜头放大效果的方法
2015/06/25 Javascript
深入学习JavaScript对象
2015/10/13 Javascript
js弹出框、对话框、提示框、弹窗实现方法总结(推荐)
2016/05/31 Javascript
JS弹出窗口插件zDialog简单用法示例
2016/06/12 Javascript
JS 动态加载js文件和css文件 同步/异步的两种简单方式
2016/09/23 Javascript
JavaScript实现瀑布流图片效果
2017/06/30 Javascript
JS实现的哈夫曼编码示例【原始版与修改版】
2018/04/22 Javascript
ES6中的class是如何实现的(附Babel编译的ES5代码详解)
2019/05/17 Javascript
vue+Element-ui实现登录注册表单
2020/11/17 Javascript
[08:08]DOTA2-DPC中国联赛2月28日Recap集锦
2021/03/11 DOTA
Python生成随机MAC地址
2015/03/10 Python
python实现应用程序在右键菜单中添加打开方式功能
2017/01/09 Python
django静态文件加载的方法
2018/05/20 Python
Python通过paramiko远程下载Linux服务器上的文件实例
2018/12/27 Python
python列表使用实现名字管理系统
2019/01/30 Python
python使用if语句实现一个猜拳游戏详解
2019/08/27 Python
python十进制转二进制的详解
2020/02/07 Python
python GUI库图形界面开发之PyQt5表格控件QTableView详细使用方法与实例
2020/03/01 Python
python Protobuf定义消息类型知识点讲解
2021/03/02 Python
HTML5 device access 设备访问详解
2018/05/24 HTML / CSS
英国办公用品商店:Office Outlet
2018/04/04 全球购物
C语言如何决定使用那种整数类型
2016/11/26 面试题
大二学年个人总结
2015/03/03 职场文书
运动会新闻报道稿
2015/07/22 职场文书
教你怎么用Python监控愉客行车程
2021/04/29 Python
css实现两栏布局,左侧固定宽,右侧自适应的多种方法
2021/08/07 HTML / CSS
DIY胆机必读:各国电子管评价
2022/04/06 无线电