PHP:http原始POST数据包含BINARY

时间:2018-09-16 23:59:37

标签: php

我有一个将POST数据发送到我的服务器的设备。 因此 print_r($ _ POST)为空,我只有在运行此命令时才能看到数据

$content = file_get_contents('php://input');
var_dump($content);   

//or i can use:  print_r($content);

我将它们保存到文件中,结果是一些json和BINARY DATA(检查图像)SCREENSHOT

如果我添加这样的代码 json_decode($ content,true); 我什么都看不到

那么我该如何解码二进制文件或如何解码json并查看以二进制文件发送的数据呢?

1 个答案:

答案 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字符串并进行处理。