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);
}
?>