PHP,使用fgets跳过文本文件的第一行和最后一行

时间:2012-11-30 00:08:39

标签: php

我正在尝试在使用fgets()时阅读文本文件的第一行和最后一行。第一行可以用if(!$firstLine)来解决,但我不知道如何忽略最后一行,或者我忽略第一行的解决方案是最佳选择。

5 个答案:

答案 0 :(得分:8)

fgets($file); //Ignore the first line
$line = fgets($file);
$next = fgets($file); 
while ($next !== false) { //check the line after the one you will process next.  
                //This way, when $next is false, then you still have one line left you could process, the last line.
    //Do Stuff
    $line = $next;
    $next = fgets($file);
}

答案 1 :(得分:0)

$lines = file('http://www.example.com/');//or local file

unset($lines[0]);
unset($lines[count($lines)-1)]);
$new_file = implode('', $lines); //may want to use line break "\n" for the join

答案 2 :(得分:0)

您可能想尝试爆炸文件内容。它会帮助你很多!之后你会给它贴上标签。

答案 3 :(得分:-1)

不幸的是,file()会将文件打开成“串行”流(不确定序列是否是正确的单词),这意味着你必须在检测到他的结束之前阅读完整的文件

答案 4 :(得分:-1)

试试这个

 $str= file_get_contents("file.txt");
 $arr = preg_split ("\n",$str);
 $n = count($arr);

$ n是一些行

$str="";
for($i=0;$i<$n;$i++){
   if($i>0 && $i<($n-1)){ $str.=$arr[$i]}
   }
    /**Str without line 1 and final line */