2016-04-03 102 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傳遞的信息。