以下函数应该读取文件,递增,然后输出到文件以下文件:
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
"
相反,它逐步输出(似乎在每次写入后增加),一个空白空间和“”在行尾随机随机输出.你有关于如何解决的任何信息吗?
最佳答案 发现了这个问题
该
$pieces = explode(" ", $data);
$names[] = $pieces[0];
$days[] = $pieces[1];
当将文件读入数组时,days参数(爆炸的一面)包括不可见的换行符.上帝,我讨厌PHP !!