2017-02-27 40 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'' ...而且您必须将结尾连接到行。第三个可选参数用于不同的目的:检测您读取的文件中的行结束。 – arkascha

+0

当长度字节被读取时读取结束**,当找到由结尾指定的字符串(不包括在返回值中)**或EOF(以先到者为准)时读取结束。 – AbraCadaver

回答

3

添加行终止自己:

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

注意转义字符解释在single-quote strings,你必须使用双引号的字符串。

+0

你确定''\ n''会起作用吗? – AbraCadaver

+0

@AbraCadaver令人惊叹。在有人指出它之前,我得到了3票赞成的完全破裂的答案。谢谢,我纠正了我的错误。 (我现在比Python更多地使用Python,并认为它只是由引用样式控制的可变扩展。) –

+0

@JonathonReinhart也不要混合使用语言:)在PHP中,您使用'.'来连接而不是'+'。 – Rizier123