2013-07-19 2 views
1

Я использую график api, чтобы получить изображение профиля моего пользователя приложения facebook с указанной шириной и высотой.Декодирование строки json из графика facebook api explorer в php

URL-адрес: http://graph.facebook.com/.. $ Идентификатор_пользователя '/ изображение ширина = 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 и наиболее соответствующим образом, как получить«URL 'i n вернулась строка json. Спасибо за помощь. Примечание. Я буду хранить url в переменной в php, а затем использовать url для imagecreatefromjpeg (GD library), а затем использовать изображение и объединить его с другим изображением.

+0

Команда декодирования PHP - 'json_decode'. Как только вы это сделали, результатом будет стандартный массив. Оттуда вы можете выбрать URL. Используйте это как ссылку: 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']; 

Оба будут выход

В вашем случае вы можете получить доступ к URL, таким образом

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

ИЛИ

$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

Должен ли я обращаться к URL как: echo $ array ['data'] ['url'] ??? – user2599068

+0

Yep, I отредактировал мой ответ –

+0

вот код: $ userprofpicurl = 'http: //graph.facebook.com/'.$userid.'/picture? Width = 180 & height = 220'; $ array = json_decode ($ userprofpicurl, true); echo $ array ['data'] ['url']; Это не работает! :( – user2599068

Смежные вопросы