从文件中删除第一行和最后一行

时间:2011-10-03 19:10:30

标签: php file-io

我是PHP新手,我需要分析数千条记录。看来需要删除每条记录的前两行和最后一行。是否有某种类型的行计数功能,我可以使用它将每行放入一个数组,然后删除前两个并像最大计数一样获取最后一行,然后删除它?我很茫然,感谢任何帮助。感谢。

2 个答案:

答案 0 :(得分:3)

假设您使用的是Unix / Linux主机,那么最好使用一些简单的shell工具为您完成此操作。具体为wc -lheadtail

for i in *.txt; do
    lines=`wc -l $i`
    tail $(($lines - 2)) $i | head $(($lines - 1)) > /fixed/files/$i
done

没有经过测试,YMMV等......但是应该明白这个想法。

答案 1 :(得分:2)

<?php

$file = file("file.txt");

array_shift($file); // Removing the first line
array_shift($file); // Removing the second line

array_pop($file); // Removing last line

// Creating the new file:

$fp = fopen("newFile.txt", "a+");

for ($x=0; $x < sizeof($file); $x++)
{
fputs($fp, $file[$x]. "\n");
}

fclose($fp);

?>