PHP: http raw POST-данные содержат BINARY

У меня есть устройство, которое отправляет данные POST на мой сервер. поэтому print_r ($ _ POST) пуст, я могу видеть данные только когда я запускаю это

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

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

Я сохраняю их в файл, и результатом являются некоторые json и ДВОИЧНЫЕ ДАННЫЕ (ПРОВЕРИТЬ ИЗОБРАЖЕНИЕ) PHP: http raw POST-данные содержат BINARY

если я добавлю такой код json_decode ($ content, истина);, я ничего не увижу

Итак, как я могу декодировать двоичный файл или что я могу сделать, чтобы декодировать json, а также посмотреть, какие данные отправляются в двоичном формате?

ты можешь добавить вложение?

Agam Banga 17.09.2018 02:01

ты можешь проверить сейчас

Ba Ta 17.09.2018 02:04

Вам нужно попытаться найти этот ввод, чтобы найти допустимую структуру. Затем проанализируйте ЭТО. Могу я порекомендовать это?

Goodbye StackExchange 17.09.2018 02:08

Нет документации для этого устройство? Что он должен отправлять? Что такое заголовок HTTP-запроса Content-type? Это должен будет доступно в $_SERVER['HTTP_CONTENT_TYPE']

Phil 17.09.2018 02:11

[Content-Type] => приложение / поток-октет, приложение / поток-октет

Ba Ta 17.09.2018 02:18

Черт, я предчувствовал, что так и будет.

Phil 17.09.2018 03:06
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
6
1 161
1

Ответы 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 и ее обработки.

array (125) {[1] => int (121) [2] => int (0) [3] => int (0) [4] => int (0) [5] => int (123) [6] => int (34) [7] => int (102) ................ int (125) [124] => int (10) [125] => int (0)} так что с ними делать

Ba Ta 17.09.2018 12:46

это байты, которые состоят из битов (8 бит = 1 байт). Например, строка "enroll", которую вы, вероятно, будете искать, представлена ​​следующим образом: char 101, 110, 114, 111, 108, 108 ascii e n r o l l

q74 17.09.2018 19:35

Другие вопросы по теме