我有一个包含以下信息的文件:
IP=121.0.0.1 Status=On Name=Name
IP=121.0.0.1 Status=On Name=Name
IP=121.0.0.1 Status=On Name=Name
IP=121.0.0.1 Status=On Name=Name
IP=127.0.0.1 Status=On Name=Name
IP=121.0.0.1 Status=On Name=Name
IP=121.0.0.1 Status=On Name=Name
IP=121.0.0.1 Status=On Name=Name
我将如何更新此文件中的信息?例如,我将如何更新本地主机 IP 设置状态为关闭和名称以测试等的行。我尝试的是通过 IP 地址(在本例中为本地主机 - 127.0.0.1)找到我想要修改的行,然后替换值状态 = 关闭str_replace()
等。但是当我尝试再次将其更改回打开时,它会覆盖另一行/创建一个空行/添加更多信息。
我试过的代码:
<?php
$file = fopen('user_info.wrd','r+');
while (!feof($file))
{
$str=fgets($file);
if (strstr($str,$_SERVER['REMOTE_ADDR']))
{
$Status=substr($str,strpos($str,'Status=')+7);
$Status=substr($Status,0,strpos($Status,' '));
fseek($file,(ftell($file)-strlen($str)));
$str=str_replace($Status,'Off',$str);
echo $str;
$str=trim($str);
fwrite($file,$str);
fclose($file);
die;
}
}
?>