2013-07-19 51 views
1

我使用圖形api獲取我的Facebook應用程序用戶的個人資料圖片指定的寬度和高度。解碼json字符串從facebook圖形api資源管理器在php

的網址:? http://graph.facebook.com/ '$的userid'/畫面寬度= 180 &高度= 220

這將在JSON返回類似 { 「數據」:{ 「URL」:「 https://fbcdn-profile-a.akamaihd.net/hprofile-ak-frc1/c0.0.553.676/s320x320/998591_136374463234627_573810314_n.jpg」, 「寬度」:262, 「高度」:320, 「is_silhouette」:假 } }

我想知道如何解碼,在PHP和最適當如何讓「網址' 一世返回的json字符串。感謝您的幫助。 注意:我將把url存儲在一個php變量中,然後使用url將imagecreatefromjpeg(GD庫),然後使用該圖像並將其與另一個圖像合併。

+0

PHP的解碼命令是'json_decode'。一旦你完成了,結果是一個標準的數組。從那裏,你可以選擇網址。使用此作爲參考:http://stackoverflow.com/questions/8447084/get-score-from-json-array – DevlshOne

回答

4

使用json_decode函數(http://php.net/manual/en/function.json-decode.php

它接受JSON字符串作爲參數並返回任一陣列或對象

$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; 
$obj = json_decode($json); 
$array = json_decode($json, true); 

然後,存取值等

echo $obj->a; 
echo $array['a']; 

兩者都將輸出

在你的情況,你可以訪問網址這樣

$obj = json_decode($your_fb_result); 
echo $obj->data->url; 

OR

$array = json_decode($your_fb_result, true); 
echo $array['data']['url']; 

具體到你的情況,

$response = file_get_contents('http://graph.facebook.com/'.$userid.'/picture?width=180&height=220&redirect=false'); 
$array = json_decode($response, true); 
echo $array['data']['url']; 

http://php.net/manual/en/function.file-get-contents.php

+0

我應該訪問的網址爲: echo $ array ['data'] ['url'] ??? – user2599068

+0

是的,我編輯了我的回答 –

+0

這裏是代碼: $ userprofpicurl ='http://graph.facebook.com/'.$userid.'/picture?width = 180&height = 220'; $ array = json_decode($ userprofpicurl,true); echo $ array ['data'] ['url']; 它似乎沒有工作! :( – user2599068

相關問題