PHP进度条
2015-10-28 16:59
561 查看
<?phpif ('source' == $_GET ['act']) { // 查看源代码 show_source ( $_SERVER ["SCRIPT_FILENAME"] ); exit ();} // end ifset_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; // 当前进度条长度?><html><head><title>动态显示服务器运行程序的进度条</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><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> <?phpflush (); // 将输出发送给客户端浏览器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> <?phpflush ();?> <input type="button" value="查看源码" onclick="document.location.href='<?php echo $_SERVER['PHP_SELF']; ?>?act=source'" /></body></html>
<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> <?phpflush (); // 将输出发送给客户端浏览器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> <?phpflush ();?> <input type="button" value="查看源码" onclick="document.location.href='<?php echo $_SERVER['PHP_SELF']; ?>?act=source'" /></body></html>
相关文章推荐
- php中simplexml_load_file()函数用法详细
- THINKPHP开启\'SHOW_PAGE_TRACE\'报错,关闭后无法显示页面的解决
- PHP CURL 使用代理访问服务器
- php中查找方法()
- ThinkPHP开发技巧之利用路由实现分组别名
- zend studio 9.0.3 破解与汉化
- Zend Studio 9.0.3正式版注册破解(2012-07-04更新)
- IIS7 安装PHP最简单的方法
- 安装PHP出现错误:Cannot find MySQL header
- phpmyadmin 403 You don’t have permission to access /phpmyadmin/ on this server
- Zend studio 5.5 编辑器设置 默认编码
- ThinkPHP 1.5 使用 Smarty 模板的方法
- 突然发现用PHP做多条件模糊查询很简单
- PHP转义函数
- 【PHP】创建文件夹及子文件夹无法创建的解决办法
- PHP split 函数
- php类似js indexof与lastindexof的方法
- Windows XP IIS PHP5详细配置
- php中include包含页面路径问题解决方法
- PHP格式化时间输出