Php 错误fread在txt文件中,只读一次

Php 错误fread在txt文件中,只读一次,php,Php,我正在创建一个代码来显示带有企业规则的服务器名称,因此对于不要使用Mysql,我尝试了一种新的方法(对我来说)使用php来读取和重写文件,这对我的代码的一部分非常有效,但对于第二部分,他只读取了一次,当我执行f5时,代码不会增加。 他重写正确,因为我的文件是000,变成了001 我尝试使用file(),但他是禁用的,因为7.0,尝试使用SplFileObject,但它不想显示任何东西,我不喜欢它,因为我使用它时什么都不懂,所以我回到fopen(),fread()和fwrite(),这些都不起作用

我正在创建一个代码来显示带有企业规则的服务器名称,因此对于不要使用
Mysql
,我尝试了一种新的方法(对我来说)使用php来读取和重写文件,这对我的代码的一部分非常有效,但对于第二部分,他只读取了一次,当我执行f5时,代码不会增加。 他重写正确,因为我的文件是000,变成了001

我尝试使用
file()
,但他是禁用的,因为
7.0
,尝试使用SplFileObject,但它不想显示任何东西,我不喜欢它,因为我使用它时什么都不懂,所以我回到
fopen()
fread()
fwrite()
,这些都不起作用。我使用的是
PHP7.3.1

有效的代码:


还有一个不起作用,因为他没有增加:



我希望他输出一个像XXXXXX 001这样的东西,当我刷新或从我的表格中发布一篇新文章时,他输出XXXXXX 002和XXXXXX 003。。。。但是他实际上只输出了xxxxxx 001

问题是您先打开文件进行读取,然后再进行写入。但是从

“w+”开放阅读和写作;将文件指针放在 文件的开头,并将文件截断为零长度。如果 文件不存在,请尝试创建它

因此,在从文件中读取值之前,这将清空该文件

要解决此问题(使用当前方法,您应该读取该值,然后打开该值进行写入并写入新值

$read = fopen($fileName,"r");
$i = fread($read,filesize($fileName));
fclose($read);
$id =  sprintf("%03d", $i+1);

echo "<div align='center'><h1>Le Chassis</h1>";
echo $id;
echo "</div>";
$fn = fopen($fileName,"w+");
fwrite($fn,$id);
fclose($fn);
$read=fopen($fileName,“r”);
$i=fread($read,filesize($fileName));
fclose($read);
$id=sprintf(“%03d”,$i+1);
回音“乐底盘”;
echo$id;
回声“;
$fn=fopen($fileName,“w+”);
fwrite($fn,$id);
fclose($fn);

您可以通过使用
file\u get\u contents()
file\u put\u contents()

来缩短此时间。问题是您打开文件进行读取,然后再进行写入。但是从

“w+”打开以进行读写;将文件指针放在 并将文件截断为零长度。如果 文件不存在,请尝试创建它

因此,在从文件中读取值之前,这将清空该文件

要解决此问题(使用当前方法,您应该读取该值,然后打开该值进行写入并写入新值

$read = fopen($fileName,"r");
$i = fread($read,filesize($fileName));
fclose($read);
$id =  sprintf("%03d", $i+1);

echo "<div align='center'><h1>Le Chassis</h1>";
echo $id;
echo "</div>";
$fn = fopen($fileName,"w+");
fwrite($fn,$id);
fclose($fn);
$read=fopen($fileName,“r”);
$i=fread($read,filesize($fileName));
fclose($read);
$id=sprintf(“%03d”,$i+1);
回音“乐底盘”;
echo$id;
回声“;
$fn=fopen($fileName,“w+”);
fwrite($fn,$id);
fclose($fn);

你可以通过使用
文件\u get\u contents()
文件\u put\u contents()

来缩短这个时间。一位同事出于安全原因说,即使启用了,我也认为我不能使用它。但是如果你有办法帮助我使用
文件()我想知道他们为什么认为安全风险^ ^一个同事说,出于安全原因,所以即使是启用,我认为我不能使用它。但是如果你有办法帮助我<代码>文件()我想知道他们为什么认为安全风险^ ^感谢这项工作完美!编辑:是的,我忘了它,但现在工作感谢再次感谢工作完美!编辑:是的,我忘了它,但现在工作再次感谢