0
次のPHPスクリプトがあります。私は、スクリプトを実行したときファイルがなくなると切り詰められるファイル
{"epochtime":1482524298,"date":"2016-12-23 20:18:18"}
、私はそれに次のように見ることがexpdectingた:
{"epochtime":1482524540,"date":"2016-12-23 20:22:20"}
{"epochtime":1482524298,"date":"2016-12-23 20:18:18"}
代わりに、それだけでtime_stamp_file.txtがそれにfollwoingた
<?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");
}
単一の行を持っていた:
{"epochtime":1482524540,"date":"2016-12-23 20:22:20"}
私はc +とは、ポインタをファイルの先頭に置き、切り捨てずに読み書き用に開くことを意味します。何か案は?
注:私はバッファにファイルを読み込み、最初にデータを追加してファイルに書き戻すことができますが、私の質問はc +フラグの使用に関するものでした。
5.6で私のために同じものを追加するには 'a +'を使用して –
と書いてもいいですか? http://php.net/manual/en/function.fopen.php –
*「私はc +とは、ファイルの先頭にポインタを置くことを意味します」とは、ファイルに追加しないことを意味します。あなたはこれについて完全にマニュアルを読むべきです。 –