php对比时间统计,php – 通过时间戳实时统计/增量

我有一个奇怪的问题,我不知道怎么说标题.

我正在尝试做什么:

我想跟踪一个正在运行的总计,我希望这个运行总计每秒更新到我的页面.我不是想跟踪访客,它会追踪一些奇怪的东西,比如“你身体里的血细胞数量!”这是一个做我想做的事情的网站,但他们在jquery中做,我正在尝试用JS来保持JS文件的最小化. http://www.usagain.com/(左侧)

我是怎么做的:

我有一个带有AJAX的JS文件,它链接到一个PHP文件,而PHP文件打开一个文本文件 – >抓取一个数字 – >将其递增1 – >将所述号码发回JS – >将数字更新为HTML – >并且PHP更新文本文件 – >关闭txt文件.

我的问题:

计数器工作,它增加但问题是如果我有2个浏览器运行相同的页面,数字将增加2.如果我有3个浏览器;数字将增加3,依此类推.我认为这与写入文件有关,但我不确定如何修复它.

我的守则

HTML / CSS / JavaScript的/ AJAX

Counter

function addCommas(nStr) //http://www.mredkj.com/javascript/nfbasic.html -- Source

{

nStr += '';

x = nStr.split('.');

x1 = x[0];

x2 = x.length > 1 ? '.' + x[1] : '';

var rgx = /(\d+)(\d{3})/;

while (rgx.test(x1)) {

x1 = x1.replace(rgx, '$1' + ',' + '$2');

}

return x1 + x2;

}

function getNum()

{

$.post('test.php', function(data){

$('#counter').html(addCommas(data));

})

}

setTimeOut(getNum, 1000);

#counterContainer{color: #52504D;font-family:Verdana, Geneva, sans-serif;font-weight:bold;font-size:15px;position:relative;top:22px;}

#counter{color: #1E7EC8; font-size: 25px;letter-spacing:1px;}

PHP文件

$fp = fopen("staticNum.txt", "r+");

flock($fp, LOCK_EX);

$num = fgets($fp, 11);

$num = intval($num)+1;

echo $num;

fseek($fp, 0, SEEK_SET);

fputs($fp, "$num");

flock($fp, LOCK_UN);

fclose($fp);

?>

我的文本文件中只有这个数字:

10000100260

任何建议都会很棒.我的第一个想法是一个数据库,但后来我发现我有同样的问题.我确实希望远离会话变量和Cookie,因为我不认为它们是必要的.我可能错了.

如果你能找到一种方法来解决我没有数据库的问题,那么奖励积分! (不是真的虽然我不是管理员:(

解决方法:

而不是计数,尝试使用时间戳:

value = ( timestamp % ((max_limit - min_limit) / 1.5 ) ) * 1.5 + min_limit

标签:php,javascript,loops,ajax,time

来源: https://codeday.me/bug/20190704/1377916.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值