我正在尝试从文件中读取和写入!该文件将始终以 6 行开头。默认设置文件如下所示:
10
50
255 255 255
0 255 0
0 255 0
0 255 0
我有一个默认设置文件和另一个在其中完成读写的当前设置文件。
我使用 3 个全局声明的数组来读取和写入值:
$arrayInputs = array();
$arrayDefaults = array();
$arrayColorsHEX = array();
我从默认文件开始:
if(filesize($inputsFilePath)<=0) {
if ($defaultSettingsFile) {
// echo "<br>Reading from $defaultFilePath<br>";
// Fill $arrayDefaults
$arrayDefaults = explode(PHP_EOL, fread($defaultSettingsFile, filesize($defaultFilePath)));
fclose($defaultSettingsFile);
// Output $arrayDefaults
var_dump($arrayDefaults);
foreach ($arrayDefaults as $keyD => $valueD) {
$arrayInputs[$keyD] = $arrayDefaults[$keyD];
}
var_dump($arrayInputs);
$Timer = $arrayDefaults[0];
$Brightness = $arrayDefaults[1];
$arrayColorsHEX[0] = RGBtoHexadecimal($arrayDefaults[2]);
$arrayColorsHEX[1] = RGBtoHexadecimal($arrayDefaults[3]);
$arrayColorsHEX[2] = RGBtoHexadecimal($arrayDefaults[4]);
$arrayColorsHEX[3] = RGBtoHexadecimal($arrayDefaults[5]);
}
}
我填写$arrayDefaults和$arrayInputs。因此,两个数组上的 var_dump 将如下所示:
/var/www/mysite/inputs.php:53:
array (size=7)
0 => string '10' (length=2)
1 => string '50' (length=2)
2 => string '255 255 255' (length=11)
3 => string '0 255 0' (length=7)
4 => string '0 255 0' (length=7)
5 => string '0 255 0' (length=7)
6 => string '' (length=0)
/var/www/mysite/inputs.php:57:
array (size=7)
0 => string '10' (length=2)
1 => string '50' (length=2)
2 => string '255 255 255' (length=11)
3 => string '0 255 0' (length=7)
4 => string '0 255 0' (length=7)
5 => string '0 255 0' (length=7)
6 => string '' (length=0)
我不喜欢它在数组中添加另一个空元素的事实,但我想不出修复它的方法。
请注意,我已经尝试了 2 种写入文件的方法。
现在,问题是对于每次页面刷新,代码都会在文件中添加一个空行,在$arrayInputs
. 还为每个POST
.
我怎样才能解决这个问题 ?
泛舟湖上清波郎朗