用PHP更新JSON文件
我对JSON和PHP都很陌生,但我正在构建一个游戏,它需要一个单独的数据库来跟踪迷宫中锁上和解锁的门 我的JSON文件如下所示:用PHP更新JSON文件,php,json,Php,Json,我对JSON和PHP都很陌生,但我正在构建一个游戏,它需要一个单独的数据库来跟踪迷宫中锁上和解锁的门 我的JSON文件如下所示: { "doors": [ {"left":true, "right":false, "bottom":false}, {"left":false, "right":false, "bottom":false}, {"right":false, "bottom":false, "top":false}
{ "doors":
[
{"left":true, "right":false, "bottom":false},
{"left":false, "right":false, "bottom":false},
{"right":false, "bottom":false, "top":false}
]
}
$jsonString = file_get_contents('info.json');
$data = json_decode($jsonString);
$data["doors"][0]["right"] = true;
$newJsonString = json_encode($data);
file_put_contents('info.json', $newJsonString);
我的PHP文件如下所示:
{ "doors":
[
{"left":true, "right":false, "bottom":false},
{"left":false, "right":false, "bottom":false},
{"right":false, "bottom":false, "top":false}
]
}
$jsonString = file_get_contents('info.json');
$data = json_decode($jsonString);
$data["doors"][0]["right"] = true;
$newJsonString = json_encode($data);
file_put_contents('info.json', $newJsonString);
我在javascript中使用ajax调用它,如果我使用
var\u dump($data)
,我可以读取该文件,但一旦我尝试编辑该文件,就会出现500错误。我觉得我很接近,但我现在真的被卡住了。如果有人能帮我,那就太好了。谢谢。500错误是内部服务器错误
。这通常意味着某个地方存在错误配置。调试它的最好方法是检查web服务器的错误日志,它应该告诉您它抛出500个错误的原因
另外,请注意,不带第二个$assoc
参数的json_decode()
返回的是一个对象而不是一个数组,因此要否决一个键,需要将其设置为对象属性:
$data->doors[0]->right = true;
500错误是
内部服务器错误
。这通常意味着某个地方存在错误配置。调试它的最好方法是检查web服务器的错误日志,它应该告诉您它抛出500个错误的原因
另外,请注意,不带第二个$assoc
参数的json_decode()
返回的是一个对象而不是一个数组,因此要否决一个键,需要将其设置为对象属性:
$data->doors[0]->right = true;
500错误是
内部服务器错误
。这通常意味着某个地方存在错误配置。调试它的最好方法是检查web服务器的错误日志,它应该告诉您它抛出500个错误的原因
另外,请注意,不带第二个$assoc
参数的json_decode()
返回的是一个对象而不是一个数组,因此要否决一个键,需要将其设置为对象属性:
$data->doors[0]->right = true;
500错误是
内部服务器错误
。这通常意味着某个地方存在错误配置。调试它的最好方法是检查web服务器的错误日志,它应该告诉您它抛出500个错误的原因
另外,请注意,不带第二个$assoc
参数的json_decode()
返回的是一个对象而不是一个数组,因此要否决一个键,需要将其设置为对象属性:
$data->doors[0]->right = true;
您是否通过localhost或其他服务器文件夹在var/www中运行此功能?如果是这样,web进程可能没有足够的权限写入目录 编辑: 如果您在受限制的目录(例如var/www或用户目录之外)中运行,您可以尝试使用以下方式更改您试图写入的文件的权限: (尝试将这张cd放入JSON文件所在的目录中) (如果您是linux机器,请输入您的pw) 但请注意,这仅用于测试目的,可能会导致安全和性能问题: 有关具有文件权限的此特定安全级别的详细信息,请查看:
您是通过localhost或其他服务器文件夹在var/www中运行此功能吗?如果是这样,web进程可能没有足够的权限写入目录 编辑: 如果您在受限制的目录(例如var/www或用户目录之外)中运行,您可以尝试使用以下方式更改您试图写入的文件的权限: (尝试将这张cd放入JSON文件所在的目录中) (如果您是linux机器,请输入您的pw) 但请注意,这仅用于测试目的,可能会导致安全和性能问题: 有关具有文件权限的此特定安全级别的详细信息,请查看:
您是通过localhost或其他服务器文件夹在var/www中运行此功能吗?如果是这样,web进程可能没有足够的权限写入目录 编辑: 如果您在受限制的目录(例如var/www或用户目录之外)中运行,您可以尝试使用以下方式更改您试图写入的文件的权限: (尝试将这张cd放入JSON文件所在的目录中) (如果您是linux机器,请输入您的pw) 但请注意,这仅用于测试目的,可能会导致安全和性能问题: 有关具有文件权限的此特定安全级别的详细信息,请查看:
您是通过localhost或其他服务器文件夹在var/www中运行此功能吗?如果是这样,web进程可能没有足够的权限写入目录 编辑: 如果您在受限制的目录(例如var/www或用户目录之外)中运行,您可以尝试使用以下方式更改您试图写入的文件的权限: (尝试将这张cd放入JSON文件所在的目录中) (如果您是linux机器,请输入您的pw) 但请注意,这仅用于测试目的,可能会导致安全和性能问题: 有关具有文件权限的此特定安全级别的详细信息,请查看: