我使用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时,它只有996个成员。所以我猜问题是在php端,我检查了php.ini中的设置,post_max_size设置为8M,它创建的json大约是15KB。现在我很困惑,不知道问题出在哪里,有人知道我哪里出错吗?提前谢谢。