2017-02-27 7 views
0
while (!feof($file1) && $linecount++<$requiredLines) { 

     $line = stream_get_line($file1, $filesize, PHP_EOL); 

     fwrite($file2,$line); 
    } 

新しい行にすべての行を書き込むにはどうすればいいですか?このよう :どこが間違っていますか?ファイルに書き込むPHP

line1 
line2 
line3 

私はこの方法を試してみましたが、その後、私は条件を満たしていない:

while (!feof($file1) && $linecount++<$requiredLines) { 

     $line = stream_get_line($file1, $filesize, '\n'); 

     fwrite($file2,$line); 
    } 

私の考えは、10行以上書くことが、新しい行にするたびになることです。

+1

'' \ n "'ではなく、 ''\ n''ではありません。そして、その行を連結しなければなりません。その3番目のオプションの引数は、読み込み元のファイルの行末を検出するという別の目的を果たします。 – arkascha

+0

lengthバイトが読み込まれたときに読み込みが終了し、**によって指定された文字列が見つかったとき(戻り値に含まれていないとき)**、またはEOF(どちらか早い方)になります。 – AbraCadaver

答えて

3

ラインを自分でTERMINATOR追加:文字をエスケープ

fwrite($file2, $line."\n"); 

注意single-quote stringsで解釈ないあり、あなたは二重引用符文字列を使用する必要があります。

+0

''\ n' 'はうまくいくでしょうか? – AbraCadaver

+0

@AbraCadaver素晴らしい。私は誰かがそれを指摘する前に完全に壊れた答えのために3つの票を得ました。ありがとう、私は間違いを訂正しました。 (私は現在PHPよりもはるかにPythonを使用しており、それは見積もりスタイルによって制御される変数の拡張だけだと考えていました) –

+0

@JonathonReinhartまた、言語を混ぜないでください:) PHPでは、 '+'ではなく連結に '。 – Rizier123