我的test.txt包含以下数据
2015-06-19 14:46:10 10
2015-06-19 14:46:11 20
2015-06-19 14:46:12 30
(这会自动生成,无法编辑) 然后我使用以下php脚本写入名为tempdata.txt的临时文件
<?php
$myFile = "filelocation/test.txt";
$myTempFile = "filelocation/tempdata.txt";
$string = file_get_contents($myFile, "r");
$string = preg_replace('/\t+/', '|', $string);
$fh = fopen($myTempFile, 'w') or die("Could not open: " . mysql_error());
fwrite($fh, $string);
fclose($fh);
?>
使tempdata.txt看起来像:
2015-06-19 14:46:10|10
2015-06-19 14:46:11|20
2015-06-19 14:46:12|30
但是我想在每行的开头添加行号,如下所示:
1|2015-06-19 14:46:10|10
2|2015-06-19 14:46:11|20
3|2015-06-19 14:46:12|30
有什么方法可以在php中读取亚麻布并将其添加到每行的前面,如&#34; n |&#34; ?
答案 0 :(得分:1)
要实现这一点,您需要逐行读取文件。 你可以在像这样的while循环中做到这一点
$count = 0;
$myFile = "filelocation/test.txt";
$myTempFile = "filelocation/tempdata.txt";
$string = fopen($myFile, "r");
$fh = fopen($myTempFile, 'w') or die("Could not open: " . mysql_error());
while ($line = fgets($string)) {
// +1 on the count var
$count++;
$line = preg_replace('/\t+/', '|', $line);
// the PHP_EOL creates a line break after each line
$line = $count . '|' . $line . PHP_EOL;
fwrite($fh, $line);
}
fclose($fh);
这样的东西应该能够达到你想要的效果 我没有测试它,所以你可能需要改变一些事情。