使用file_get_contents跳过行?

时间:2011-02-15 20:00:31

标签: php file-processing

我试图跳过前两行(从阅读3个文件)然后保存回来(我已经完成了这一切,剩下的就是跳线了)

有没有办法做到这一点?

4 个答案:

答案 0 :(得分:6)

这是一种做法。也许这有点矫枉过正,因为它效率不高。 (使用file()会更快)

$content = file_get_contents($filename);
$lines = explode("\n", $content);
$skipped_content = implode("\n", array_slice($lines, 2));

答案 1 :(得分:1)

是的,但是使用file_get_contents会太复杂了。我建议改为使用file()函数:

$file_array = file("yourfile.txt");
unset($file_array[0]);
unset($file_array[1]);
file_put_contents("outfile.txt", implode("", $file_array));

答案 2 :(得分:0)

使用file(),然后取消设置前2个数组键然后内爆

答案 3 :(得分:0)

如果行不是很长,你不能只在读取文件上使用正则表达式吗?从php手册中可以看到file_get_contents中的offset参数,尽管这很可能不会有用,因为那时你需要提前知道行长度。也许file_get_contents在这种情况下不适合使用?