萌新项目人 2018-02-02 12:54 采纳率: 100%
浏览 1130
已采纳

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
求高手改写

  • 写回答

5条回答 默认 最新

  • 斯洛文尼亚旅游 2018-02-02 14:31
    关注

    记得采纳,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;//输出当日的数字
    
    ?>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?