您好,登錄后才能下訂單哦!
使用PHP怎么編寫(xiě)一個(gè)進(jìn)度條效果?針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。
<?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 > <div > <div id="progress" ></div> </div> <div id="status"></div> <div id="percent" >0%</div> </div> <?php flush(); //將輸出發(fā)送給客戶(hù)端瀏覽器 foreach($users as $user) { // 在此處使用空循環(huán)模擬較為耗時(shí)的操作,實(shí)際應(yīng)用中需將其替換; // 如果你的操作不耗時(shí),我想你就沒(méi)必要使用這個(gè)腳本了 :) for($i = 0; $i < 1000000; $i++) { } ?> <script language="JavaScript"> updateProgress("正在操作用戶(hù) <?php echo $user; ?> ....", <?php echo min($width, intval($progress)); ?>); </script> <?php flush(); //將輸出發(fā)送給客戶(hù)端瀏覽器,使其可以立即執(zhí)行服務(wù)器端輸出的 JavaScript 程序。 $progress += $pix; } //end foreach ?> <script language="JavaScript"> //最后將進(jìn)度條設(shè)置成最大值 $width,同時(shí)顯示操作完成 updateProgress("操作完成!", <?php echo $width; ?>); </script> <?php flush(); ?> </body> </html>
關(guān)于使用PHP怎么編寫(xiě)一個(gè)進(jìn)度條效果問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。