<?php
if(file_exists("upload.json"))
{
// For GETTING Values as an Associative Array...
$temp_array = array();
$temp_array = json_decode(file_get_contents('upload.json'),true);
$upload_info = array('media_name'=>'b',
'media_category'=>'v','media_info'=>'c','media_location'=>'x','media_artist'=>'z');
array_push($temp_array, $upload_info);
file_put_contents('upload.json', json_encode($upload_info));
}
else
{
$upload_info =array('media_name'=>'b',
'media_category'=>'v','media_info'=>'c','media_location'=>'x','media_artist'=>'z');
$json = json_encode($upload_info);
$file = "upload.json";
file_put_contents($file, json_encode($json));
}
?>
我无法将JSON文件追加到一起: 有没有解决方案? 在此先感谢。
我希望JSON文件符合以下顺序。
{
"upload":
{
"image":[
{
"media_name": "b",
"media_category": "v",
"media_info": "c",
"media_location": "x",
"media_artist": "z"
},
{
"media_name": "b",
"media_category": "v",
"media_info": "c",
"media_location": "x",
"media_artist": "z"
}
]
}
}
我该怎么办?
答案 0 :(得分:3)
<?php
if(file_exists("upload.json"))
{
$temp_array = array();
$temp_array = json_decode(file_get_contents('upload.json'));
$upload_info = array('media_name'=>'b','media_category'=>'v','media_info'=>'c','media_location'=>'x','media_artist'=>'z');
array_push($temp_array->upload->image, $upload_info);
file_put_contents('upload.json', json_encode($temp_array));
}
else
{
$upload_info = array();
$upload_info['upload']['image'][] = array('media_name'=>'b','media_category'=>'v','media_info'=>'c','media_location'=>'x','media_artist'=>'z');
$json = json_encode($upload_info);
$file = "upload.json";
file_put_contents($file, $json);
}
?>
这个适合你!
答案 1 :(得分:1)
试试这个:
$json_data = json_decode(file_get_contents('data.txt'), true);
for ($i = 0, $len = count($json_data); $i < $len; ++$i) {
$json_data[$i]['num'] = (string) ($i + 1);
}
file_put_contents('data.txt', json_encode($json_data));