php改写为每40秒数字加10

<?php

$data=file("date.txt");

$ini=0;//初始值

$p=10;//每天递增的数

if(count($data)){

 //如果存在数据,则改写数据

 $data=split(",",$data[0]);

 if($data!=date("Y-m-d")){

  //不是当前日期,更新数据

  $fp=fopen("date.txt","w");

  $str=date("Y-m-d").",".($data[1]+$p);//字符串两个参数,用逗号分隔。例:2013-7-20 10;

  fputs($fp,$str);

  $ini=$data[1]+$p;

 }

}else{

 //否则直接写入数据

 $fp=fopen("date.txt","w");

 $str=date("Y-m-d").",".$ini;//字符串两个参数,用逗号分隔。例:2013-7-20 10;

 fputs($fp,$str);

}

echo $ini;//输出当日的数字

?>

上面的代码实现的是每次刷新自动加10,但是我想实现的是
自动的每隔40秒数字自动加10,将加完的数字写入txt覆盖原来txt的数值,之后从txt读取写入的这个数值并显示出来
不能受刷新影响,也不用缓存和cookie
求高手改写

记得采纳,C币不够了可以站内短信联系我购买,:)。。。

 <?php

$data=file("date.txt");

$ini=0;//初始值

$p=10;//每天递增的数

if(count($data)){

 //如果存在数据,则改写数据

 $data=explode(",",$data[0]);
  $now=date("Y-m-d H:i:s");//当前时间
  $second=floor((strtotime($now)-strtotime($data[0]))%86400);//计算时间差,秒

  $ini=$data[1];
 if($second>=40){//上次写入和当前时间相差40s以上增加并写入文件


  $fp=fopen("date.txt","w");

  $str=date("Y-m-d H:i:s").",".($data[1]+$p);//字符串两个参数,用逗号分隔。例:2013-7-20 10;

  fputs($fp,$str);

  $ini=$data[1]+$p;

 }

}else{

 //否则直接写入数据

 $fp=fopen("date.txt","w");

 $str=date("Y-m-d H:i:s").",".$ini;//字符串两个参数,用逗号分隔。例:2013-7-20 10;

 fputs($fp,$str);

}

echo $ini;//输出当日的数字

?>

建议加一个if判断或者for循环,设置时间40s一个循环加10即可

自动的每隔40秒数字自动加10,将加完的数字写入txt覆盖原来txt的数值,之后从txt读取写入的这个数值并显示出来
不能受刷新影响,也不用缓存和cookie

自动的d每隔40秒数df字自动加10,将加完的数fds字写入txt覆盖原来txt的af数值,之后从txt读取写入的这个数af值并显示出来
不能受刷afdss新影响,也不用缓存af和cookie

如果只是网页上显示,不需要存储人数据库
则设置初始值$count 还有初始日期$date,
假设$count=10,$date='2015-07-18';
然后进行操作,方法和上面大同小异
$now = strtotime(date('Y-m-d', time()));
if($now > strtotime($date))
{
$add = intval(($now-strtotime($date))/(24*3600));
$count += 10*$add;
}
可以将其封装成函数
function count($count,$date){

$now = strtotime(date('Y-m-d', time()));
if($now > strtotime($date))
{
$add = intval(($now-strtotime($date))/(24*3600));
$count += 10*$add;
}
return $count;
}
如果要加随机数那么就需要加上random函数,而且需要存储用来判定的$date,可以用cookies存储也可以用session存储