【问题标题】:fwrite do not overwrite my .txtfwrite 不要覆盖我的 .txt
【发布时间】:2015-03-01 13:50:26
【问题描述】:

我有一个按钮,我希望当我按下它时,它会在文本文件中写入它的状态并且按钮会改变它的值,就像一个拨动开关。

<button type="button"><?php echo $button ?></button>

我的问题是,一旦我按下它,文本文件上的第一个值不会被下一个覆盖。都写好了。

我应该在文本文件中有这个:ONOFF,但我得到了这个 ONOFFOFFON

<?php
$file = fopen('state.txt', 'r+');
$state = fread($file, '3');

if ($state == 'ON') {
    $button = 'OFF';
    fwrite($file, 'OFF');
} elseif ($state == 'OFF') {
    $button = 'ON';
    fwrite($file, 'ON');
} else {
    $button = 'error';
}

fclose($file);
?>

此外,我希望我的 php 和我的 html 代码在同一页面上。

谢谢。

【问题讨论】:

    标签: php fopen fwrite


    【解决方案1】:

    您已打开文件以进行 r/w,然后从中读取。

    “指针”在最后一个字符处;下一次写入发生在指针所在的位置,您将获得附加的数据。

    2 个选项: 读完文件关闭再重新打开写

    或使用fseek($file,0) 将指针移回起点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-15
      • 2012-04-19
      • 1970-01-01
      • 2017-04-09
      • 1970-01-01
      • 2020-06-07
      相关资源
      最近更新 更多