我正在尝试将数据从ios传递到服务器。
Php代码:
<?php
$inputJSON = file_get_contents('php://input');
$data = json_decode($inputJSON, TRUE);
var_dump($data);
?>
这给了我string(0) ""
。我不知道这是什么意思。
echo $inputJSON; gives nothing
var_dump($inputJSON); returns string(0) ""
当我打印json-string时,它会给我一个有效的字符串
请在我的另一个问题中找到此问题的完整代码
答案 0 :(得分:2)
我为你创造了一个我正在谈论的例子: -
1.我的文件(php
代码文件和json
字符串文件)位于同一工作目录中。检查: - http://prntscr.com/apkbp9
2. json
字符串文件内容应为: -
[
{
"email" : "",
"Name" : "Ddd",
"contact2" : "",
"ontact1" : ""
},
{
"email" : "",
"Name" : "Ddd",
"contact2" : "",
"contact1" : ""
},
{
"email" : "",
"Name" : "Dddddr",
"contact2" : "",
"contact1" : ""
}
]
点击此处: - http://prntscr.com/apkbx0
3. php
代码文件内容: -
<?php
$inputJSON = file_get_contents('input.txt');
echo $inputJSON;
$data = json_decode($inputJSON, TRUE);
echo "<pre/>";print_r($data);
?>
点击此处: - http://prntscr.com/apkc6x
我的浏览器输出: - http://prntscr.com/apkcoi
您可以使用下面的CURL
: -
<?php
function url_get_contents ($Url) {
if (!function_exists('curl_init')){
die('CURL is not installed!');
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $Url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($ch);
curl_close($ch);
return $output;
}
$inputJSON = url_get_contents('php://input');
echo $inputJSON;
$data = json_decode($inputJSON, TRUE);
echo "<pre/>";print_r($data);
?>
有关CURL
的更多参考: - http://php.net/manual/en/book.curl.php
注意: - 如果两者都不起作用,那么首先您需要将json
数据保存在扩展名为.txt
的文件中,然后您可以同时使用上面给出的两个代码放置该文本文件的完整路径。
答案 1 :(得分:1)
fisrt你应该检查你的网址是否正确。如果每件事情都是对的,但仍然没有显示响应,请使用curl功能,例如alter native of file_get_content
答案 2 :(得分:1)
上帝格蕾丝解决了我的问题 -
传递true以将对象转换为关联数组,因此可以像这样访问数字/关联数组。
$var = $data[0]['key'];
然后我们使用数字和关联数组语法的组合来访问多维数组中的所需元素。
但是如果我尝试var_dump($ data);重新调整。
参考教程:http://www.dyn-web.com/tutorials/php-js/json/decode.php