2016-04-03 99 views
1

我在Matlab R2015b中使用webwrite函数将一些结构化信息作为json媒体类型传递到我的服务器上的PHP脚本。 matlab代码运行没有错误,但是我不知道如何访问PHP脚本中的信息来处理它,并首先检查数据是否正确传输。PHP - 通过webwrite函数访问由Matlab发送的json数据

这里是我的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如何传递信息以及如何正确访问它。

非常感谢任何提示。

+0

使用print_r($ data)来查看数组是如何构造的,然后就可以知道该怎么做。这或准备好Matlab API文档。他们必须有一个... http://php.net/manual/en/function.print-r.php – Rottingham

+0

我的问题是首先将传输的数据导入到php变量$ data中。我正在编写自己的“REST风格的web服务,并希望以结构化的格式从matlab发布数据,然后利用php脚本中的数据。 – Benvaulter

回答

0

我想出解决这个问题,想万一有人来分享别人遇到了同样的问题:

都出现小幅调整首先必须在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传递的信息。