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怎样调用MSSQL的存储过程
Oct 09 PHP
DedeCMS dede_channeltype表字段注释
Apr 07 PHP
php HtmlReplace输入过滤安全函数
Jul 03 PHP
div li的多行多列 无刷新分页示例代码
Oct 16 PHP
PHP中通过fopen()函数访问远程文件示例
Nov 18 PHP
如何通过Linux命令行使用和运行PHP脚本
Jul 29 PHP
Yii框架结合sphinx,Ajax实现搜索分页功能示例
Oct 18 PHP
php遍历替换目录下文件指定内容的方法
Nov 10 PHP
PHP正则替换函数preg_replace()报错:Notice Use of undefined constant的解决方法分析
Feb 04 PHP
PHP分享图片的生成方法
Apr 25 PHP
PHP实现的CURL非阻塞调用类
Jul 26 PHP
php写app用的框架整理
Sep 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
把1316这个数表示成两个数的和,其中一个为13的倍数,另一个是11的倍数,求这两个数。
2011/06/24 PHP
php中将指针移动到数据集初始位置的实现代码[mysql_data_seek]
2012/11/01 PHP
php静态文件生成类实例分析
2015/01/03 PHP
php版微信自定义回复功能示例
2016/12/05 PHP
phpstudy的php版本自由修改的方法
2017/10/18 PHP
php图片合成方法(多张图片合成一张)
2017/11/25 PHP
服务器安全设置的几个注册表设置
2007/07/28 Javascript
DIV菜单层实现代码
2010/11/19 Javascript
js实现鼠标感应图片展示的方法
2015/02/27 Javascript
nodejs微信公众号支付开发
2016/09/19 NodeJs
js时间控件只显示年月
2017/01/08 Javascript
Jquery-data的三种用法
2017/04/18 jQuery
vue中使用localstorage来存储页面信息
2017/11/04 Javascript
vue项目实现记住密码到cookie功能示例(附源码)
2018/01/31 Javascript
详解Vue微信授权登录前后端分离较为优雅的解决方案
2018/06/29 Javascript
JavaScript实现图片上传并预览并提交ajax
2019/09/30 Javascript
JavaScript代码模拟鼠标自动点击事件示例
2020/08/07 Javascript
[01:12:44]VG vs Mineski Supermajor 败者组 BO3 第二场 6.6
2018/06/07 DOTA
[02:22]完美世界DOTA2联赛PWL S3 集锦第一期
2020/12/15 DOTA
Python数字图像处理之霍夫线变换实现详解
2018/01/12 Python
Python图像处理之识别图像中的文字(实例讲解)
2018/05/10 Python
Python中循环后使用list.append()数据被覆盖问题的解决
2018/07/01 Python
Python爬虫框架scrapy实现downloader_middleware设置proxy代理功能示例
2018/08/04 Python
python3实现爬取淘宝美食代码分享
2018/09/23 Python
Python3安装psycopy2以及遇到问题解决方法
2019/07/03 Python
pandas分批读取大数据集教程
2020/06/06 Python
Python实现给PDF添加水印的方法
2021/01/25 Python
pandas 按日期范围筛选数据的实现
2021/02/20 Python
佐卡伊官网:中国知名珠宝品牌
2017/02/05 全球购物
阿联酋电子产品购物网站:Menakart
2017/09/15 全球购物
伊芙丽官方旗舰店:中国淑女一线品牌
2017/12/01 全球购物
结构和类有什么异同
2012/07/16 面试题
毕业生就业推荐表自我鉴定
2014/03/20 职场文书
机械设计及其自动化专业求职信
2014/06/09 职场文书
中共广东省委常委会党的群众路线教育实践活动整改方案
2014/09/23 职场文书
Python序列化模块JSON与Pickle
2022/06/05 Python