PHP實(shí)現(xiàn)的進(jìn)度條效果詳解
來(lái)源:易賢網(wǎng) 閱讀:1112 次 日期:2016-08-25 15:14:29
溫馨提示:易賢網(wǎng)小編為您整理了“PHP實(shí)現(xiàn)的進(jìn)度條效果詳解”,方便廣大網(wǎng)友查閱!

本文實(shí)例講述了PHP實(shí)現(xiàn)的進(jìn)度條效果。分享給大家供大家參考,具體如下:

在做采集的時(shí)候,想通過(guò)php來(lái)實(shí)現(xiàn)一個(gè)進(jìn)度條功能,谷歌了一下,找了個(gè)合適的代碼。下面直接上代碼:

名單

<?php

//防止執(zhí)行超時(shí)

set_time_limit(0);

//清空并關(guān)閉輸出緩存

ob_end_clean();

//需要循環(huán)的數(shù)據(jù)

for($i = 0; $i < 188; $i++)

{

  $users[] = 'Tom_' . $i;

}

//計(jì)算數(shù)據(jù)的長(zhǎng)度

$total = count($users);

//顯示的進(jìn)度條長(zhǎng)度,單位 px 

$width = 500;

//每條記錄的操作所占的進(jìn)度條單位長(zhǎng)度

$pix = $width / $total;

//默認(rèn)開(kāi)始的進(jìn)度條百分比

$progress = 0;

?>

<html>

<head>

<title>動(dòng)態(tài)顯示服務(wù)器運(yùn)行程序的進(jìn)度條</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:50px auto; padding: 8px; border: 1px solid gray; background: #EAEAEA; width: <?php echo $width+8; ?>px">

    <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(); //將輸出發(fā)送給客戶端瀏覽器 

foreach($users as $user)

{

  // 在此處使用空循環(huán)模擬較為耗時(shí)的操作,實(shí)際應(yīng)用中需將其替換; 

  // 如果你的操作不耗時(shí),我想你就沒(méi)必要使用這個(gè)腳本了 :) 

  for($i = 0; $i < 1000000; $i++)

  {

  }

  ?> 

<script language="JavaScript"> 

 updateProgress("正在操作用戶 <?php echo $user; ?> ....", <?php echo min($width, intval($progress)); ?>);

</script>

<?php

  flush(); //將輸出發(fā)送給客戶端瀏覽器,使其可以立即執(zhí)行服務(wù)器端輸出的 JavaScript 程序。 

  $progress += $pix;

} //end foreach 

?> 

<script language="JavaScript"> 

  //最后將進(jìn)度條設(shè)置成最大值 $width,同時(shí)顯示操作完成 

 updateProgress("操作完成!", <?php echo $width; ?>); 

</script>

<?php

flush();

?>

</body>

</html>

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

更多信息請(qǐng)查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機(jī)網(wǎng)站地址:PHP實(shí)現(xiàn)的進(jìn)度條效果詳解
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 加入群交流 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65317125(9:00—18:00) 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)