我有一个将POST数据发送到我的服务器的设备。 因此 print_r($ _ POST)为空,我只有在运行此命令时才能看到数据
$content = file_get_contents('php://input');
var_dump($content);
//or i can use: print_r($content);
我将它们保存到文件中,结果是一些json和BINARY DATA(检查图像)
如果我添加这样的代码 json_decode($ content,true); 我什么都看不到
那么我该如何解码二进制文件或如何解码json并查看以二进制文件发送的数据呢?
答案 0 :(得分:1)
如果要在PHP
中解码二进制数据,请尝试以下操作:
<?php
$binarydata = "\x04\x00\xa0\x00";
$data = unpack('C*', $binarydata);
var_dump($data);
输出:
array (size=4)
1 => int 4
2 => int 0
3 => int 160
4 => int 0
将内容从file_get_contents('php:// input')加载到$ binarydata,您将获得一个值数组。然后,您可以应用一些逻辑来提取JSON字符串并进行处理。