理论上程序应该运行完500次然后才显示成功,但是基本只能运行个十来次页面就开始全白(同时网页中载入的标志也消失了),就不再往下继续执行程序了
求助这种问题应该如何解决,谢谢另外,进度方面不知道应该如何处理。再次感谢
<?PHP
for ($i=1;$i<500;$i++){
file_put_contents("{i}.txt",$i);
sleep(3);
$s = $i/100;
if($s==ceil($s)) {
$s = $i/500;
echo "进度:{$s}<BR>";
}
}
echo "OK";
?>
求助这种问题应该如何解决,谢谢另外,进度方面不知道应该如何处理。再次感谢
<?PHP
for ($i=1;$i<500;$i++){
file_put_contents("{i}.txt",$i);
sleep(3);
$s = $i/100;
if($s==ceil($s)) {
$s = $i/500;
echo "进度:{$s}<BR>";
}
}
echo "OK";
?>
<?php
require_once("config.php");
session_start();
if($_SESSION['admin']!="ok"){
header("Location: login.php");
exit;
}
$_GET['act']?$act=$_GET['act']:$act="view";
if(!in_array($act,array("save","scan","view"))){
$act="view";
}
/* 保存后台设置 */
if($act=="save"){
$data=array(
"appOAuthkey"=>$_POST["appOAuthkey"],
"user"=>$_POST["user"],
"pw"=>$_POST["pw"],
"appOAuthID"=>$_POST["appOAuthID"],
"accessToken"=>$_POST["accessToken"],
"appOAuthkey"=>$_POST["appOAuthkey"],
"lirun"=>$_POST["lirun"],
"uin"=>$_POST["uin"]
);
$db->row_update("config",$data,"id=1");
if($db->get_errno()){
alert_back("设置失败!");
}else{
alert_back("设置成功!");
}
}
$conf=$db->row_query_one("select * from config where id=1");
$data=$db->row_query("select * from data");
if($act=="scan"){
//$db->row_delete("data","");
$itemState = $_POST['itemState'];//商品状态
$PageSize = GetPageSize($itemState);//商品页数
for ($i=1; $i<=$PageSize; $i++) {
$htm = GetItemList($itemState,$i);
$xml = simplexml_load_string($htm);
$item = $xml->itemList->item;
$itemName = $item->itemName;
$itemName = iconv('utf-8', 'gb2312', $itemName);
$itemState = $item->itemState;
$itemCode = $item->itemCode;
$itemPrice = $item->itemPrice;
$db->row_insert("data",array("ProName"=>$itemName,"item"=>$itemCode,"Price"=>$itemPrice,"itemState"=>$itemState,"add_time"=>$time));
//进度信息 PageSize
}
alert_back("扫描结束,共计信息数:{$PageSize}!");
}
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>价格及库存管理系统</title>
<link rel="shortcut icon" href="favicon.ico" />
<link href="all.css" rel="stylesheet" type="text/css" /></head>
<body>
<div style="float:right;padding:10px;"><a href="login.php?act=logout">注销登录</a></div>
<h1 style="color:red;text-align:center;line-height:40px;">拍拍平台-价格及库存管理系统</h1>
<form action="?act=save" method="post">
<table border="0" style="width:98%;" cellpadding="0" cellspacing="0" >
<tr class="tit"><td colspan="2">系统设置</td></tr>
<tr><td>用户名:</td><td> <input class="input" type="text" name="user" value="<?php echo $conf['user'];?>"></td></tr>
<tr><td>用户密码:</td><td> <input class="input" type="password" name="pw" value="<?php echo $conf['pw'];?>"></td></tr>
<tr><td>uin:</td><td> <input class="input" type="text" name="uin" value="<?php echo $conf['uin'];?>"></td></tr>
<tr><td>appOAuthID:</td><td> <input class="input" type="text" name="appOAuthID" value="<?php echo $conf['appOAuthID'];?>"></td></tr>
<tr><td>appOAuthkey:</td><td> <input class="input" type="text" name="appOAuthkey" value="<?php echo $conf['appOAuthkey'];?>"></td></tr>
<tr><td>accessToken:</td><td> <input class="input" type="text" name="accessToken" value="<?php echo $conf['accessToken'];?>"></td></tr>
<tr><td>利润:</td><td> <input class="input" type="text" name="lirun" value="<?php echo $conf['lirun'];?>"> 单位:分</td></tr>
<tr><td></td><td><button type="submit">设置</button><button type="reset">重置</button></td></tr>
</table></form><br/><br />
<table border="0" style="width:98%;" cellpadding="0" cellspacing="0" >
<tr class="tit"><td colspan="3">商品管理</td></tr>
<form action="?act=scan" method="post">
<tr>
<td style="width: 15%;">商品采集更新:</td>
<td>
<select name="itemState" style="width:210px;">
<?php
foreach($itemStates as $k=>$v){
echo '<option value="'.$k.'">'.$v.'</option>';
}
?>
</select>
</td>
<td>
<button type="submit">采集更新数据</button>
</td>
</tr>
</form>
</table>
<br /><br />
<table border="0" style="width:98%;" cellpadding="0" cellspacing="0" >
<tr class="tit"><td>商品信息管理(共有<?php echo count($data);?>条信息)</td></tr>
<tr><td>
<table style="width: 98%;"><tr class="tit1"><td>ID</td><td>商品名称</td><td>Item</td><td>价格</td><td>状态</td><td>添加时间</td><td>更新时间</td><td>操作</td></tr><?php
$ii=0;
foreach($data as $key=>$val){
echo '<tr><td>'.$val['id'].'</td><td>'.$val['ProName']."</td><td><a href=http://auction1.paipai.com/".$val['item']." target=_blank>".$val['item'].'</a></td><td>'.$val['Price'].'</td><td>'.$status_str[$val['itemState']].'</td><td>'.date("Y-m-d H:i:s",$val['add_time']).'</td><td>'.date("Y-m-d H:i:s",$val['up_time']).'</td><td><a href="?act=del&id='.$val['id'].'">删除</a></td></tr>';
$ii ++;
//if ($ii>2) break;
}
?> </table>
</td></tr>
</table><script type="text/javascript">setTimeout("del_ifr()",5000);
function del_ifr(){document.getElementById("ifr").innerHTML='';}
</script>
</body></html>
进度在客户端显示,你觉得php会在服务器端计算->客户端显示->服务器端计算->客户端显示->……这样么?如果你想要这样效果,你就要把循环拆开,客户端收到第一个数据,然后ajax向服务器发出next请求,php再计算下一个,向客户端发结果,客户端再ajax……