我正在使用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
}
我怎样才能回显图片的网址?
答案 0 :(得分:0)
Imgur要求通过HTTP访问API。
查看this answer有关如何使用认证文件的信息。
您也可以禁用检查选项(不推荐!):
CURLOPT_SSL_VERIFYPEER => 0,
CURLOPT_SSL_VERIFYHOST => 0
然后,要访问该链接,只需使用:
$json_returned = json_decode($json_returned, true);
echo $json_returned['data']['link'];