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 相关文章推荐
Smarty模板快速入门
Jan 04 PHP
PHP 编程的 5个良好习惯
Feb 20 PHP
php split汉字
Jun 05 PHP
PHP自定义函数实现格式化秒的方法
Sep 14 PHP
php opendir()列出目录下所有文件的实例代码
Oct 02 PHP
PHP对象、模式与实践之高级特性分析
Dec 08 PHP
php的4种常用运行方式详解
Dec 22 PHP
PHP 年月日的三级联动实例代码
May 24 PHP
PHP简单实现模拟登陆功能示例
Sep 15 PHP
Laravel 对某一列进行筛选然后求和sum()的例子
Oct 10 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
Mar 26 PHP
如何利用PHP实现上传图片功能详解
Sep 24 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数据缓存技术
2007/02/14 PHP
php 搜索框提示(自动完成)实例代码
2012/02/05 PHP
超详细的php用户注册页面填写信息完整实例(附源码)
2015/11/17 PHP
Laravel框架使用Seeder实现自动填充数据功能
2018/06/13 PHP
PHP的mysqli_sqlstate()函数讲解
2019/01/23 PHP
关于laravel后台模板laravel-admin select框的使用详解
2019/10/03 PHP
javascript中检测变量的类型的代码
2010/12/28 Javascript
JSDoc 介绍使用规范JsDoc的使用介绍
2011/02/12 Javascript
js用拖动滑块来控制图片大小的方法
2015/02/27 Javascript
JS简单生成两个数字之间随机数的方法
2016/08/03 Javascript
js面向对象编程总结
2017/02/16 Javascript
详解angularjs的数组传参方式的简单实现
2017/07/28 Javascript
动手写一个angular版本的Message组件的方法
2017/12/16 Javascript
浅谈js获取ModelAndView值的问题
2018/03/28 Javascript
关于Vue项目跨平台运行问题的解决方法
2018/09/18 Javascript
AngularJs的$http发送POST请求,php无法接收Post的数据问题及解决方案
2020/08/13 Javascript
vue3为什么要用proxy替代defineProperty
2020/10/19 Javascript
基于JavaScript实现轮播图效果
2021/01/02 Javascript
机器学习python实战之决策树
2017/11/01 Python
python自动化实现登录获取图片验证码功能
2019/11/20 Python
tensorflow之tf.record实现存浮点数数组
2020/02/17 Python
CSS3实现DIV圆角效果完整代码
2012/10/10 HTML / CSS
使用css3实现超炫的loading加载动画效果
2014/05/07 HTML / CSS
Kiehl’s科颜氏西班牙官方网站:源自美国的植物护肤品牌
2020/02/22 全球购物
语文教育专业求职信
2014/06/28 职场文书
我的大学四年规划书范文2014
2014/09/26 职场文书
销售员未完成销售业绩的检讨书
2014/10/12 职场文书
小学见习报告
2014/10/31 职场文书
2014年党总支工作总结
2014/12/18 职场文书
学雷锋日活动总结
2015/02/06 职场文书
2015年度党员自我评价范文
2015/03/03 职场文书
博士给导师的自荐信
2015/03/06 职场文书
居委会工作总结2015
2015/05/18 职场文书
2015年街道办事处工作总结
2015/05/22 职场文书
入党培养人考察意见
2015/06/08 职场文书
Vue项目中如何封装axios(统一管理http请求)
2021/05/02 Vue.js