以下功能应该读取文件,递增然后将以下内容输出到文件到文本文档:
function updateDaysAway($tenantName, $datefrom, $dateto){
$names = array();
$days = array();
$file = fopen("data/daysaway.txt", 'a+');
while (!feof($file)) {
$data = fgets($file);
if(!$data == '') {
$pieces = explode(" ", $data);
$names[] = $pieces[0];
$days[] = $pieces[1];
}
}
fclose($file);
for($x = 0; $x < count($names); $x++) {
if(strtolower($names[$x]) == strtolower($tenantName)){
$datefromVAR = new DateTime($datefrom);
$datetoVAR = new DateTime($dateto);
$file = fopen("data/range.txt", 'a+');
$days[$x] += $datetoVAR->diff($datefromVAR)->format('%a')+1;
}
}
$file = fopen("data/daysaway.txt", 'w');
for($x = 0; $x < count($names); $x++) {
$entry = $names[$x]." ".$days[$x].PHP_EOL;
fwrite($file, $entry);
}
fclose($file);
}
原始文件
"
name 185
name 0
"
归档后
"
name 185
name 0
// Random white space I don't want
"
相反,它以增量方式输出(似乎在每次写操作后都会增加),在行尾并在其间随机产生一个空格和“”。您是否有解决方法的任何信息?
答案 0 :(得分:1)
发现了问题
的
$pieces = explode(" ", $data);
$names[] = $pieces[0];
$days[] = $pieces[1];
当将文件读入数组时,days参数(爆炸的一侧)包括不可见的换行符。上帝,我讨厌PHP!