当前位置:网站首页>php将多维数据保存进json文件
php将多维数据保存进json文件
2022-08-04 05:25:00 【eleven_-11】
/**
* @description 将任务信息保存到json文件中
*
* @param string $filename
*
* @return bool
* @throws MYS_RuntimeEvent
*/
public function saveToJson($filename) {
/**
* 1. JSON数据的格式如下
*"RestoreOrder": {
* "timeStamp": "2016-12-28 14:03:50",
* "isChecked":"",
* "dataSaved":"",
* "dataSure":"",
* "hostIp":"",
* "hostUUID":""
* "inst": {
* "inst1": {
* "db1": {
* "dbname":""
* "isRestore":"",
* "inst_name": "",
* "inst_port": "",
* "des_port": "",
* "des_path": "",
* "des_connect": {
* "user" : "",
* "key" : "",
* "connect_ip" : "",
* }
* },
* "db2": {...}
* },
* "inst2": {...}
* }
* }
*};
* 2. 有些数据需要从数据库中查询获得
*
* 3.$task的数据
* $temp_data = array(
* "dbname" => $this->timestamp,
* "isRestore" => $this->ischecked,
* "inst_name" => $this->datasaved,
* "inst_port" => $this->datasure,
* "des_port" => $this->hostip,
* "des_path" => $this->uuid
);
*/
if (!$this->OrderValid) {
throw new MYS_RuntimeEvent(MYS_Severity::SEVERITY_EMERGENCY,
OBJECT_PARAM_INVALID, __CLASS__ . ":" . __FUNCTION__, __LINE__);
}
// 创建json数据
$temp_data = array(
"timeStamp" => $this->timestamp,
"isChecked" => $this->ischecked,
"dataSaved" => $this->datasaved,
"dataSure" => $this->datasure,
"hostIp" => $this->hostip,
"hostUUID" => $this->uuid
);
// 创建恢复任务对象信息
foreach ($this->tasklist as $task) {
$instconnect = $task['des_connect'];
$arr_auth = $instconnect->getAuthenticationArr();
$arr_conn = $instconnect->getConnectionArr();
unset($task['isRestore']);
unset($task['instconnect']);
$temp_data['inst'][$task['inst_name']][$task['dbname']] = $task;
$temp_data['inst'][$task['inst_name']][$task['dbname']]['des_connect'] =
array(
"user" => $arr_auth['UID'],
"key" => $arr_auth['PWD'],
"connect_ip" => $arr_conn['HOST'],
);
$temp_data['inst'][$task['inst_name']][$task['dbname']]['isRestore'] =
$this->isrestore[$task['inst_name']][$task['dbname']];
}
// 保存到文件中
file_put_contents(dirname(__FILE__) . "/../" . MYSQLTaskRSController::TMPTASKSHADOWRS_LOCK, json_encode($temp_data));
copy(dirname(__FILE__) . "/../" . MYSQLTaskRSController::TMPTASKSHADOWRS_LOCK, $filename);
}
边栏推荐
猜你喜欢
随机推荐
EntityComponentSystemSamples学习笔记
一个对象引用的思考
关于C#的反射,你真的运用自如嘛?
如何将 DevSecOps 引入企业?
C语言 -- 操作符详解
【问题解决】同一机器上Flask部署TensorRT报错记录
sql server如何得到本条记录与上一条记录的差异,即变动值
MediaCodec支持的类型
读者让我总结一波 redis 面试题,现在肝出来了
el-Select selector bottom fixed
Gartner 权威预测未来4年网络安全的8大发展趋势
Unity自动生成阻挡Collider的GameObject工具
触觉智能分享-SSD20X实现升级显示进度条
4.1 JdbcTemplate for declarative transactions
OpenCV获取和设置图像的平均亮度
string类简介
Write golang simple C2 remote control based on gRPC
[Cocos 3.5.2]开启模型合批
7.15 Day21---MySQL----Index
Can 't connect to MySQL server on' localhost3306 '(10061) simple solutions
![Deploy LVS-DR cluster [experimental]](/img/ad/84e05a6421d668b0b6ba6eeba0c730.jpg)








