3

を使用してテキストファイルを読んでいるときに、テキストファイルの最初と最後の行をスキップする方法を理解しようとしていますfgets()。最初の行は。で解決できますがif(!$firstLine)、最後の行を無視する方法や、最初の行を無視するための解決策が最善の選択であるかどうかはわかりません。

4

5 に答える 5

9
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);
}
于 2012-11-30T00:19:56.647 に答える
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
于 2012-11-30T00:21:24.177 に答える
0

ファイルの内容を分解してみることをお勧めします。それはあなたを大いに助けます!その後、ラベルを付けます。

于 2012-12-04T17:37:48.987 に答える
-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 */
于 2012-11-30T00:26:03.933 に答える
-1

残念ながら、file() はファイルを「シリアル」ストリームに開きます (シリアルが正しい単語かどうかはわかりません)。これは、ファイルの終わりを検出する前にファイル全体を読み取る必要があることを意味します。

于 2012-11-30T00:16:29.913 に答える