fopen($ filename,“ a +”)或file_put_contents($ filename,= $ data.PHP_EOL,FILE_APPEND)似乎追加到文件

时间:2019-07-06 05:41:17

标签: php fopen fwrite file-put-contents

尝试使用以下任一方法附加文件

file_put_contents($filename, "\r\n" . $barcode_number.PHP_EOL, FILE_APPEND);

$myfile = fopen($filename, 'a+');

均未附加我的文件。两者都覆盖了旧信息
我尝试过的事情都在代码注释中

    $myfile = fopen($filename, 'a+') or die("unable to open file" . $filename);

    $barcode_number = $_POST['SBN'];
    //$newLine = PHP_EOL; 
    //echo  $temp.$barcode_number; die();

    fwrite($myfile, $barcode_number.PHP_EOL);
    fwrite($myfile, "\n");

    //file_put_contents($filename, "\r\n" . $barcode_number.PHP_EOL, FILE_APPEND);
    fclose($myfile);
    //echo "wrote " . $barcode_number . "to " . $filename; die();

预期输出为:

123456
123457
123458

实际输出为:

123458

1 个答案:

答案 0 :(得分:0)

您的file_put_contents()调用的格式正确,尽管我认为您不需要.PHP_EOL,因为您已经在数据前添加了“ \ r \ n”。您的fopen() / fwrite() / fclose()也是如此。是否有另一个脚本正在打开该文件,从而锁定该文件?