0

我正在使用 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
}

我怎样才能只回显图像的网址?

4

1 回答 1

0

Imgur 要求通过 HTTPs 访问 API。

查看有关如何使用认证文件的答案。

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

CURLOPT_SSL_VERIFYPEER => 0,
CURLOPT_SSL_VERIFYHOST => 0

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

$json_returned = json_decode($json_returned, true);
echo $json_returned['data']['link'];
于 2013-08-18T17:03:46.453 回答