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求最大子序列和的算法实现
Jun 24 PHP
PHP ? EasyUI DataGrid 资料存的方式介绍
Nov 07 PHP
PHP字符过滤函数去除字符串最后一个逗号(rtrim)
Mar 26 PHP
PHP运行SVN命令显示某用户的文件更新记录的代码
Jan 03 PHP
php选择排序法实现数组排序实例分析
Feb 16 PHP
php通过smtp邮件验证登陆的方法
May 11 PHP
PHP 输出缓冲控制(Output Control)详解
Aug 25 PHP
php 文件下载 出现下载文件内容乱码损坏的解决方法(推荐)
Nov 16 PHP
php类自动装载、链式操作、魔术方法实现代码
Jul 23 PHP
php记录搜索引擎爬行记录的实现代码
Mar 02 PHP
Laravel5.7框架安装与使用学习笔记图文详解
Apr 02 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
Mar 29 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
Bo-Blog专用的给Windows服务器的IIS Rewrite程序
2007/08/26 PHP
thinkphp的静态缓存用法分析
2014/11/29 PHP
解决PHP里大量数据循环时内存耗尽的方法
2015/10/10 PHP
PHP常用函数之根据生日计算年龄功能示例
2019/10/21 PHP
js中几种去掉字串左右空格的方法
2006/12/25 Javascript
javascript实现的使用方向键控制光标在table单元格中切换
2010/11/17 Javascript
js弹出框轻量级插件jquery.boxy使用介绍
2013/01/15 Javascript
iframe异步加载实现点击左边菜单加载右边内容实例讲解
2013/03/04 Javascript
深入探讨Vue.js组件和组件通信
2016/09/12 Javascript
在html中引入外部js文件,并调用带参函数的方法
2016/10/31 Javascript
JavaScript实现简易的天数计算器实例【附demo源码下载】
2017/01/18 Javascript
深入理解vue路由的使用
2017/03/24 Javascript
详解webpack多页面配置记录
2018/01/22 Javascript
解决vue-router中的query动态传参问题
2018/03/20 Javascript
vuex 项目结构目录及一些简单配置介绍
2018/04/08 Javascript
Vue实现6位数密码效果
2018/08/18 Javascript
探秘vue-rx 2.0(推荐)
2018/09/21 Javascript
解决layer弹出层msg的文字不显示的问题
2019/09/11 Javascript
[01:24:09]Ti4 冒泡赛第二轮DK vs C9 1
2014/07/14 DOTA
python 简易计算器程序,代码就几行
2009/08/29 Python
50行代码实现贪吃蛇(具体思路及代码)
2013/04/27 Python
python中的&amp;&amp;及||的实现示例
2019/08/07 Python
Windows10下Tensorflow2.0 安装及环境配置教程(图文)
2019/11/21 Python
python实现自动化报表功能(Oracle/plsql/Excel/多线程)
2019/12/02 Python
python GUI库图形界面开发之PyQt5滑块条控件QSlider详细使用方法与实例
2020/02/28 Python
HTML5 虚拟键盘出现挡住输入框的解决办法
2017/02/14 HTML / CSS
AmazeUI 平滑滚动效果的示例代码
2020/08/20 HTML / CSS
日本7net购物网:书籍、漫画、杂志、DVD、游戏邮购
2017/02/17 全球购物
Yves Rocher伊夫·黎雪美国官网:法国始创植物美肌1959
2019/01/09 全球购物
外语系大学生自荐信范文
2014/03/01 职场文书
三八妇女节超市活动方案
2014/08/18 职场文书
个人借款协议书范本
2014/11/17 职场文书
2014年学校体育工作总结
2014/12/08 职场文书
六一儿童节开幕词
2015/01/29 职场文书
Pyhton爬虫知识之正则表达式详解
2022/04/01 Python
SQL Server #{}可以防止SQL注入
2022/05/11 SQL Server