Я использую webwrite функция в Matlab R2015b для передачи некоторой структурированной информации в виде медиа-типа json в скрипт PHP на моем сервере. Код Matlab выполняется без ошибок, однако я не знаю, как получить доступ к информации в сценарии PHP, чтобы работать с ним и, прежде всего, проверить, правильно ли были переданы данные.
Вот простой пример моего кода Matlab:
data = struct('userId', 20 ,'Password', 10);
url = 'http://example.info/php/test.php';
options = weboptions('MediaType', 'application/json');
response = webwrite(url, data, options);
Теперь я попробовал несколько вещей в PHP, большинство из которых включали использование команды php json_decode, например:
$data = json_decode($data,true);
Однако я не знаю, как Matlab передает информацию и как правильно получить к ней доступ.
Большое спасибо за любые подсказки.
Я разобрался с решением этой проблемы и хотел поделиться им, если кто-то еще столкнется с той же проблемой:
Прежде всего необходимо было внести небольшую корректировку в код Matlab, чтобы включить также тип контента json
data = struct('userId', 20 ,'Password', 10);
url = 'http://example.info/php/test.php';
options = weboptions('MediaType','application/json','ContentType','json');
response = webwrite(url, data, options);
Код php выглядит следующим образом:
$data = json_decode(file_get_contents('php://input'));
if($data !== FALSE) {
echo json_encode($data); //echo same data as check
}
else {
echo 'Error parsing data';
}
Ключ должен был использовать ‘PHP: // ввод’ чтобы обратиться к информации, переданной Matlab.
Других решений пока нет …