从文本文件中读取并将前50行发布到另一个文本文件中?

时间:2014-12-16 00:51:14

标签: php if-statement conditional-statements

我有一个文本文件,它被称为'Store.txt'。 我想知道如何从这个文件中读取,然后获取前50行数字/文本 并将它们插入另一个文本文件中。

我的代码很少,因为我不确定如何去做,而且我一直在网上搜索但找不到太多我相信if if statment是答案?

我以前的任何方式都给了它,但遗憾的是它没有用。 这是我的方式 -

<?php 
$fileToOpen = fopen('Store.txt', 'r');
$return = '';
$count = 0;

$return. = $fileToOpen. "\n";
    if ($count >= 50)
        break;
}

file_put_contents($return, "Store2nd.txt");
fclose($fileToOpen);
?> 

提前感谢您的帮助。 (:

3 个答案:

答案 0 :(得分:2)

这将复制到前50行而不读取完整文件:

<?php

$fileToOpen = fopen('Store.txt', 'r');
$outputFile = fopen('Store2nd.txt', 'w');

$count = 0;
while (!feof($fileToOpen)) {  // We'll copy the whole file ...
    if ($count++ >= 50)       // ... or the first 50 lines, whichever is less
        break;
    $line = fgets($fileToOpen);
    fwrite($outputFile, $line);
}

fclose($fileToOpen);
fclose($outputFile);

?>

答案 1 :(得分:1)

请试一试:

<?php 
$lines = file('Store.txt'); // make file content an array
$result = array_slice($lines,0,50); // take the first 50 lines
file_put_contents('Store2nd.txt', implode('', $result)); // output
?> 

答案 2 :(得分:0)

更好的方法可能是为你的文字做一个foreach循环。

然后在循环中添加$count++,以便您设置的$count = 0;会增加。

现在使用您的代码,没有任何增加,因此$count永远不会达到50。

干杯。