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 相关文章推荐
oracle资料库函式库
Oct 09 PHP
php中截取中文字符串的代码小结
Jul 17 PHP
php中使用addslashes函数报错问题的解决方法
Feb 06 PHP
php获取本地图片文件并生成xml文件输出具体思路
Apr 27 PHP
php判断ip黑名单程序代码实例
Feb 24 PHP
百度地图API应用之获取用户的具体位置
Jun 10 PHP
PHP从FLV文件获取视频预览图的方法
Mar 12 PHP
php array_udiff_assoc 计算两个数组的差集实例
Nov 12 PHP
visual studio code 调试php方法(图文详解)
Sep 15 PHP
PHP面向对象程序设计(OOP)之方法重写(override)操作示例
Dec 21 PHP
php使用curl模拟多线程实现批处理功能示例
Jul 25 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
Mar 26 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错误抑制符(@)导致引用传参失败Bug的分析
2011/05/02 PHP
php摘要生成函数(无乱码)
2012/02/04 PHP
php安全开发 添加随机字符串验证,防止伪造跨站请求
2013/02/14 PHP
php对二维数组按指定键值key排序示例代码
2013/11/26 PHP
php读取excel文件示例分享(更新修改excel)
2014/02/27 PHP
php对包含html标签的字符串进行截取的函数分享
2014/06/19 PHP
Java和PHP在Web开发方面对比分析
2015/03/01 PHP
php统计数组不同元素的个数的实例方法
2019/09/26 PHP
jQuery生成asp.net服务器控件的代码
2010/02/04 Javascript
基于jQuery的消息提示插件之旅 DivAlert(三)
2010/04/01 Javascript
jQuery数据缓存功能的实现思路及简单模拟
2013/05/27 Javascript
web网页按比例显示图片实现原理及js代码
2013/08/09 Javascript
Javascript表格翻页效果实现思路及代码
2013/08/23 Javascript
JS获得选取checkbox整行数据的方法
2015/01/28 Javascript
JS中prototype的用法实例分析
2015/03/19 Javascript
JavaScript实现函数返回多个值的方法
2015/06/09 Javascript
用JavaScript显示浏览器客户端信息的超相近教程
2015/06/18 Javascript
js判断手机访问或者PC的几个例子(常用于手机跳转)
2015/12/15 Javascript
Vuejs第十一篇组件之slot内容分发实例详解
2016/09/09 Javascript
IOS中safari下的select下拉菜单文字过长不换行的解决方法
2016/09/26 Javascript
基于Vue实现后台系统权限控制的示例代码
2017/08/29 Javascript
使用Angular CLI从蓝本生成代码详解
2018/03/24 Javascript
vue组件数据传递、父子组件数据获取,slot,router路由功能示例
2019/03/19 Javascript
解决vue-cli webpack打包开启Gzip 报错问题
2019/07/24 Javascript
vue 解决文本框被键盘遮住的问题
2019/11/06 Javascript
JavaScript鼠标悬停事件用法解析
2020/05/15 Javascript
解决vue中使用less/sass及使用中遇到无效的问题
2020/10/24 Javascript
python Zmail模块简介与使用示例
2020/12/19 Python
Lee牛仔裤澳大利亚官网:美国著名牛仔裤品牌
2017/09/02 全球购物
运动会口号16字
2014/06/07 职场文书
交通事故代理词范文
2015/05/23 职场文书
2016师德师风学习心得体会
2016/01/12 职场文书
大学生志愿者心得体会
2016/01/15 职场文书
领导激励员工的演讲稿,各种会上用得到,建议收藏
2019/08/13 职场文书
六年级作文之关于梦
2019/10/22 职场文书
我的收音机情缘
2022/04/05 无线电