我有一个PHP脚本,可以将访问者数据记录到csv文件中。
我希望访问者数据将新信息附加到csv文件的第二行。
现在,新数据附加到文件的最底层,列表变得很长。
$cvsData = $ip . "," . $host . "," . $os . "," . $currentDate . "," . $TIME ."\n";
$fp = fopen("C:\\WWW\\LOG\\LOG.CSV","a");
fwrite($fp,$cvsData); // Write information to the file
fclose($fp); // Close the file
答案 0 :(得分:0)
这是可能的,但比简单地附加到文件更复杂:
您必须为此实施一个简短的例程:
变体可能是将旧文件作为备份副本移到一边,并将新的临时文件移动到其位置。
答案 1 :(得分:0)
我认为'写到第二行'意思是'保留第一行并删除其他所有内容'而不是从第一行删除标题,将新数据作为第一行插入,并再次将标题写为第一行'
// get the first line
// http://stackoverflow.com/questions/4521936/quickest-way-to-read-first-line-from-file
$f = fopen($file, 'r');
$csvHead = fgets($f);
fclose($f);
// your data
$csvData = $ip . "," . $host . "," . $os . "," . $currentDate . "," . $TIME ."\n";
// add your code to the end..
$f = fopen($file,"w");
fwrite($f,$csvHead); // Write information to the file
fwrite($f,$csvData); // Write information to the file
fclose($f); // Close the file
不是最好的代码,但应该有效,但您只有最新的访问者详细信息。
还有许多其他更好的解决方案来跟踪网站访问者(谷歌分析?),但你可以保持你当前的脚本不被修改,并检查'尾巴为win32' - 它允许您监视来自底部http://tailforwin32.sourceforge.net
的附加内容的文件