0

我想在文件的每一行添加完全相同的文本,但无法做到。原因是因为我有 1k+ 行并且手动执行此操作会很痛苦。我到目前为止是这样的:

$file_data = "my string \n";
$file_data .= file_get_contents('numbers.txt');
file_put_contents('numbers.txt', $file_data);

这将字符串放在文本文件的第一行,仅此而已。每一行怎么放?

4

2 回答 2

2

这将创建一个新文件并在每一行之前写入字符串:

<?php
$string = "my string \n";
$fh = fopen('numbers.txt', 'r');
$fh2 = fopen('new-numbers.txt', 'w');

if ($fh && $fh2) {
    while (($buffer = fgets($fh, 4096)) !== false) {
        $buffer = $string . $buffer;
        fwrite($fh2, $buffer);
    }

    if (!feof($fh)) {
        echo "Error: unexpected fgets() fail\n";
    }
    fclose($fh);
    fclose($fh2);
}
于 2016-08-26T12:58:52.993 回答
0

从重复的线程

$lines = file('numbers.txt'); 
$new = '';

if (is_array($lines)) {
    foreach($lines as $line) { 
        $new .= "my string " . $line;
    } 
}

file_put_contents('numbers.txt', $new);
于 2016-08-26T13:01:06.383 回答