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

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了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

<html>
<head>
<tITle>Counter</title>
<script language="javascript" src="../jquery1.6.js"></script>
<script tyPE="text/javascript">

    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);
</script>
<style type="text/css">
    #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;}
</style> 
</head>
<body onload="getNum()">
    <div id="counterContainer">
        <div id="counter"><!--Counter Goes Here,Do Not Disturb--></div>
    </div>
</body>
</html>

PHP文件

<?PHP
    $fp = fopen("staticNum.txt","r+");
    flock($fp,LOCK_EX);
    $num = fgets($fp,11);
    $num = intval($num)+1;

    echo $num;

    fseek($fp,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 – 通过时间戳实时统计/增量全部内容,希望文章能够帮你解决php – 通过时间戳实时统计/增量所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。