繁体   English   中英

文件本应被截断

[英]File getting truncated when it's not supposed to

我有以下php脚本。

<?php

create_time_stamp('time_stamp_file.txt');

function create_time_stamp($fname)
{
    $fh = fopen($fname, 'c+');
    if (!$fh) {
        die ('Could not open date stamp file');
    }
    $time = time();
    $time_array = array(
        'epochtime' => $time,
        'date' => date('Y-m-d H:i:s', $time)
    );
    fwrite($fh, json_encode($time_array)."\r\n");
}

time_stamp_file.txt中包含以下内容:

{"epochtime":1482524298,"date":"2016-12-23 20:18:18"}

运行脚本时,我打算在脚本中看到以下内容:

{"epochtime":1482524540,"date":"2016-12-23 20:22:20"}
{"epochtime":1482524298,"date":"2016-12-23 20:18:18"}   

相反,它只有一行:

{"epochtime":1482524540,"date":"2016-12-23 20:22:20"}

我认为c +的意思是将指针放在文件的开头,不要截断它,并打开它进行读/写。 有任何想法吗?

注意:是的,我可以将文件读入缓冲区,将数据添加到开头,然后将其写回到文件中,但是我的问题是关于使用c +标志的问题。

只需在打开文件后写入fread($ fh,filesize('time_stamp_file.txt'))(读取一次文件),它就会按预期运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM