回显json代码的一部分


Echo part of a json code

我正在使用imgur API上传图像,然后我想回显图像的链接。这是代码:

<?php
$client_id = 'xxxxxxxxxxx';
$file = file_get_contents("http://mywebsite.com/image.jpeg");
$url     = 'https://api.imgur.com/3/image.json';
$headers = array(
    "Authorization: Client-ID $client_id"
);
$pvars   = array(
    'image' => base64_encode($file)
);
$curl = curl_init();
curl_setopt_array($curl, array(
    CURLOPT_URL => $url,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_POST => 1,
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => $pvars
));
$json_returned = curl_exec($curl); // blank response

echo $json_returned;
curl_close($curl);
?>

$json_returned是这样的:

{
    "data": {
        "id": "93MubeE",
        "title": null,
        "description": null,
        "datetime": 1376842908,
        "type": "image/jpeg",
        "animated": false,
        "width": 2197,
        "height": 1463,
        "size": 70884,
        "views": 0,
        "bandwidth": 0,
        "favorite": false,
        "nsfw": null,
        "section": null,
        "deletehash": "bk5k8HrAeH8aOtW",
        "link": "http://i.imgur.com/93MubeE.jpg"
    },
    "success": true,
    "status": 200
}

如何仅回显图像的url?

Imgur要求通过HTTPs访问API。

看看这个关于如何使用证书文件的答案。

您也可以禁用检查选项(不推荐!):

CURLOPT_SSL_VERIFYPEER => 0,
CURLOPT_SSL_VERIFYHOST => 0

然后,要访问链接,只需使用:

$json_returned = json_decode($json_returned, true);
echo $json_returned['data']['link'];