我使用js函数调用php将大json写入文件。js在这里:
function createJson(jsonname){
$.post("function/create_json.php", jsonname);
}
我的 json 结构如下:
var info = {
info: {},
para: [
],
};
我使用 for 循环向其中添加数据,例如:
info.para.push({height: h});
和 php 使用 createJson 传递给它的数据创建 json 文件
<?php
$json = $_POST;
$json_encoded = json_encode($json);
$json_decoded = json_decode($json_encoded);
$file_path = $json_decoded->info->file_path;
$fore_path = data_file_path();
file_put_contents($fore_path . $file_path, $json_encoded);
?>
问题是似乎有某种限制。json中para数组的长度约为996。我在调用createJson之前检查了info.para[1000].data,它返回了正确的值,但是创建json时,para中只有996个成员。所以我猜问题出在php方面,我检查了php.ini中的设置post_max_size设置为8M,它创建的json大约为15KB。现在我很困惑,不知道问题出在哪里,有人知道我哪里出错了吗?提前致谢。