我有一个PHP计数器的问题。 我需要计算两个变量,用|分隔,但计数器经常重置为|1 我已经使用了flock函数,但它仍然不起作用。 此外,有时它不会增加变量的值。

numeri.txt(柜台):

5098|561307

这是PHP脚本:

$filename="numeri.txt";
$contents=file_get_contents($filename);
$fp=fopen($filename,'a');
if(!flock($fp,LOCK_EX))
{
    while(true)
    {
        usleep(100000);
        if(flock($fp,LOCK_EX))
        {
            break;
        }
    }
}
ftruncate($fp,0);
$contents=explode("|",$contents);
$clicks=$contents[0];
$impressions=$contents[1]+1;
fwrite($fp,$clicks."|".$impressions);
flock($fp,LOCK_UN);
fclose($fp);

如何修复代码?

===============>>#1 票数:2 已采纳

如果输出重置为“| 1”,那么$ contents变量不会设置为有用的任何内容。

尝试每次都写入$ contents变量,这样你就可以看到输出为“| 1”的情况。

我认为$ contents是问题,但是你没有显示最初设置该变量的位置。

  ask by Megadv translate from so

未解决问题?本站智能推荐:

2回复

在php中重置计数器

我有一个脚本,可以计算您访问页面的次数,我想做的是让计数器在它丰富5时重置(即(从1-5计数)并重置为1.)。有什么想法吗?
1回复

PHP计数器不断重置自身

因此,基本上,我有一个将信息提交到我的网站的表单,之后我可以在以后批准该信息进入我的网站或删除它。 我最近在网站上添加了一个Recaptcha bot检查程序,以便避免垃圾邮件发送者之类的问题,但问题是我在同一文件(submitinfo.php)中拥有提交页面的过程和布局。 Reca
1回复

重置PHP计数器在Chrome中不起作用

我在后台浏览我网站的各个页面上的点击数,这些点击可以在IE中重置,但是重置按钮在Chrome中没有响应。 这里使用的按钮代码: 这里的功能:
1回复

在循环的每个迭代中重置计数器

我是blueprism的新用户。 我在blueprism中使用两个循环,并使用一个增量计数器。 完成一个循环并转到另一个循环后,我需要重置计数器值。 请帮助我。
1回复

C在FOR循环中重置数据计数器

我有一个非常大的文本文件,正在尝试对其进行单词分析。 在字数统计中,我可能也在寻找其他信息,但为简单起见,我将其省略。 在此文本文件中,我使用星号“ *”分隔文本块。 我下面的代码将扫描文本文件,并按需要打印出#个字符和单词,但是我想在遇到星号后重置计数器,并将所有信息存储在某种形式的表中
2回复

如何正确重置增量计数器?

在我的一个脚本中,我使用的是计数器,如果发生特定事件,该计数器会逐渐递增。 我使用以下语法来做到这一点: 现在,我正在尝试实现一个按钮,您可以使用该按钮将$countercorrect值重置为0。为此,我使用click_handler设置了一个按钮: 假设$countercor
1回复

重置分接计数器WP8

我正在开发一个wp8应用程序,该应用程序需要多次点击才能进入另一页,但是我希望如果用户按下另一个按钮来重置计数器。 这是我的三个按钮,计数器工作正常,我只想在点击另一个按钮时将其重置。 我遇到的问题是,一旦轻按一个按钮,其他按钮的计数器也会上升,我什至制作了3个计数器,每个按钮一个,但是即使
2回复

如何在Java中重置for循环的计数器

因此,我正在尝试为高中班级创建一个程序,以便能够生成一个随机数,并让用户不断猜测直到正确为止。 到目前为止,我一切都进行得很顺利,除了当我提示他们再次玩耍时,计数器会计算他们猜测再次选择后不会重置的次数。 我不知道该怎么做,并且在寻找解决方案时,对于我来说,理解或使用它太复杂了。
2回复

再次运行程序后,“小时”计数器不会重置

我不知道如何重置“小时”计数器。 该程序在第一次运行时运行完美,但是当用户输入另一组小时数时,小时数开始在110-117之间进行编号。 输出: 输入小时数,查看喝完咖啡后体内残留的咖啡因数量:4 1小时113.1000mg 2小时98.3970mg 3小时
1回复

FPGA复位中的计数器错误(使用VHDL)

我正在尝试使用从0到109循环的多个计数器进行设计。但是,当在FPGA上时,计数器不会重置为109,而是重置为127(它们的最大值)。 他们确实在模拟中工作。 以下是我的代码: 所有延迟( delay_1 , delay_2 , delay_3 , delay_4 )信号都是泛型和s