字符串添加新行,我不明白为什么

时间:2016-04-30 09:11:49

标签: php fwrite

我有这个代码打开文件夹中的每个文件,将值减少5,然后覆盖现有内容。

<?php
    foreach (glob("users/*.php") as $filename) {    
        $array = file($filename);

        $wallet = $array[0];
        $time = $array[1];
        $status = $array[2];
        $steamid = $array[3];

    $process = fopen($filename, "w") or die("Unable to open file!");
       $time = $time - 5;
       $newdata = $wallet . "\n" . $time . "\n" . $status . "\n" . $steamid;
       fwrite($process, $newdata);
    fclose($process);
}
?>

在执行脚本之前,打开的文件如下所示:

680
310
0
74892748232

执行脚本后,文件如下所示:

680

305
0

74892748232

如果再次执行脚本,它会添加更多行,并且只会打破文件。

此处创建文件的字符串:

$newdata = $wallet . "\n" . $time . "\n" . $status . "\n" . $steamid;

为什么在$ wallet和$ status之后添加一个空行,但不是在$ time之后?我怎样才能避免这种情况,而是写下来:

$wallet
$time
$status
$steamid

提前多多感谢。:)

1 个答案:

答案 0 :(得分:0)

尝试使用此解决方案

您还可以使用file_put_contents($filename, implode("\n", $array) . "\n", FILE_APPEND);

OnClick

来自这个问题 https://stackoverflow.com/a/3066811/1301180