所以我有一个数据文件,其中包含所有应该采用 JSON 格式的“事件”:
[{"id":"4f946d7a31b27", "title":"Floss the Otter", "start":1333252800, "end":1333339199}]
更多的事件只是更多的 JSON 对象 [{}, {}, ...]。我编写了一个函数来尝试将数据文件作为一个 JSON 对象数组来取消转移一个新事件,并将其写回数据文件,但我一直得到一个空返回,而不是数组。
if($_SERVER['REQUEST_METHOD'] == 'POST'){
$title = $_POST['title'];
$start = $_POST['start'];
$end = $_POST['end'];
$event = array(
'id' => md5($title),
'title' => $title,
'start' => $start,
'end' => $end
);
$data = get_data();
array_unshift($data, $event);
if ($fp = fopen($data_file, "w")){
fwrite($fp, json_encode($data));
fclose($fp);
}
}
function get_data() {
$str = "";
if ($fp = fopen($data_file, "r")){
while($line = fgets($fp)) {
$str = $str . $line;
}
$data = json_decode($str, true);
return $data == NULL ? array() : $data;
}
}
如果我写出变量$event
而不是应该数组$data
,那么文件应该包含一个 JSON 对象,所以我担心我从文件转换为数组的方法不正确。提前致谢