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
}

画像の URL のみをエコーするにはどうすればよいですか?

4

1 に答える 1

0

Imgur では、HTTP 経由で 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 に答える