fwrite 不要覆盖我的.txt
fwrite do not overwrite my .txt
我有一个按钮,我希望当我按下它时,它会在文本文件上写入它的状态,然后按钮会改变它的值,就像拨动开关一样。
<button type="button"><?php echo $button ?></button>
我的问题是,一旦按下它,文本文件中的第一个值不会被下一个值覆盖。都写了。
我应该在文本文件中有这个:ON
或 OFF
但我得到这个 ONOFF
或 OFFON
.
<?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 代码在同一页面上。
谢谢。
您打开了 r/w 的文件,然后从中读取。
"pointer"在最后一个字符;下一次写入发生在指针所在的位置,您会附加数据。
2个选项:
读取后关闭文件,重新打开写入
或使用fseek($file,0)
将指针移回开头。
我有一个按钮,我希望当我按下它时,它会在文本文件上写入它的状态,然后按钮会改变它的值,就像拨动开关一样。
<button type="button"><?php echo $button ?></button>
我的问题是,一旦按下它,文本文件中的第一个值不会被下一个值覆盖。都写了。
我应该在文本文件中有这个:ON
或 OFF
但我得到这个 ONOFF
或 OFFON
.
<?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 代码在同一页面上。
谢谢。
您打开了 r/w 的文件,然后从中读取。
"pointer"在最后一个字符;下一次写入发生在指针所在的位置,您会附加数据。
2个选项: 读取后关闭文件,重新打开写入
或使用fseek($file,0)
将指针移回开头。