有谁知道为什么它不起作用?
PHP
<?php
if (isset($_POST['submit'])) {
$twitchArray = array(
"TwitchName" => $_POST['twitchName'],
"TwitchHref" => $_POST['twitchHref'],
"TwitchDescription" => $_POST['twitchDescription']
);
$json = json_encode($twitchArray);
$file = 'twitch.json';
file_put_contents($file, $json);
echo json_decode('twitch.json');
}
?>
我真的不知道为什么它不起作用。你能救我吗?
答案 0 :(得分:1)
您正在尝试解码字符串twitch.json
,而不是您已编写内容的变量文件。您需要使用file_get_contents
来读取文件,因为您需要使用file_put_contents
来写入文件。
<?php
if (isset($_POST['submit'])) {
$twitchArray = array(
"TwitchName" => $_POST['twitchName'],
"TwitchHref" => $_POST['twitchHref'],
"TwitchDescription" => $_POST['twitchDescription']
);
$json = json_encode($twitchArray);
$file = 'twitch.json';
file_put_contents($file, $json);
echo file_get_contents($file);
}
?>
答案 1 :(得分:1)
为了回显输出json,你需要做的就是
echo $json;
在您的情况下假设这是您的实际代码的更改版本,您需要将json字符串传递给json_decode
,而不是文件名。见json_decode on php docs
echo json_decode(file_get_contents('twitch.json'));
但是上述内容会导致回显Array
或stdClass
或null
,因为twitch.json
文件的内容将转换为数组或对象(如果json无效,则返回null。因此,回显文件的json内容的正确方法应该是
echo file_get_contents($file);