PHP實作進度條的原理:
模式替換,在頁面設定一個標識,輪子自己的頁面,不發請求給伺服器,由伺服器端獲得進度,然後替換該頁面標識,達到進度條效果。
頁面代碼:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <meta http-equiv="Expires" content="Fri, Jan 01 1900 00:00:00 GMT"> <meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="Cache-Control" content="no-cache"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv="Lang" content="en"> <meta name="author" content=""> <meta http-equiv="Reply-to" content="@.com"> <meta name="generator" content="PhpED 5.8"> <meta name="description" content=""> <meta name="keywords" content=""> <meta name="creation-date" content="01/01/2009"> <meta name="revisit-after" content="15 days"> <title>进度条</title> <script type="jquery.min.js"></script> <script type="text/javascript"> function test(){ location.reload(); setTimeOut('test()',1000) } </script> </head> <body οnlοad="test()"> <div id="test">0</div> <div id="" style="width: 100;">{%a%}</div> </body> </html>
伺服器程式碼:
<?php for($i = 0;$i < 6;$i++){ echo $i.'<br/>'; echo str_repeat(' ' ,2024); $url = '/t/test.php'; header("Location: " . $url.'&id='.$i); $read_url = realpath('.'.$url); $content = file_get_contents('D:/phpnow/htdocs11/design/t/test.php'); $rr = preg_replace('/{%(.*)%}/','{%'.$i.'%}',$content); file_put_contents('D:/phpnow/htdocs11/design/t/test.php',$rr); ob_flush(); flush(); sleep(1); } ?>
以上是php實作進度條原理的詳細內容。更多資訊請關注PHP中文網其他相關文章!