我使用的是IMGUR,我得到了以下错误
警告: file_get_contents(https://api.imgur.com/3/album/f0J59/images):打开流失败: HTTP请求失败!在第12行的C:\wamp\www\reddit_cards\imgur_test.php中,HTTP/1.1 403拒绝的权限
$opts = array(
'http'=>array(
'method'=>"POST",
'header'=>"Authorization: Client-ID XXXXX"
)
);
$context = stream_context_create($opts);
$file = file_get_contents('https://api.imgur.com/3/album/f0J59/images', false, $context);
echo $file;发布于 2013-05-11 09:30:50
看看我几周前创建的这个脚本,它是为了把图片上传到Imgur。
Imgur.php
<form enctype="multipart/form-data" method="post" action="imgur.php">
Choose your file here:
<input name="file" type="file"/>
<input type="submit" value="Upload It"/>
</form>
if(isset($_FILES['file']))
{
$filename = $_FILES['file']['tmp_name'];
$handle = fopen($filename, "r");
$data = fread($handle, filesize($filename));
print_r(imgur($data));
}
else
{
echo "Nothing Done";
}
function imgur($data)
{
$key = "IMGUR KEY";
$pvars = array('image' => base64_encode($data), 'key' => $key);
$timeout = 30;
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'http://api.imgur.com/2/upload.json');
curl_setopt($curl, CURLOPT_TIMEOUT, $timeout);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $pvars);
$json = curl_exec($curl);
$json = json_decode($json,true);
$res['small'] = substr($json['upload']['links']['small_square'],19) . "<br />";
$res['original'] = substr($json['upload']['links']['original'],19) . "<br />";
$res['delete'] = $json['upload']['image']['deletehash'] . "<br />";
curl_close ($curl);
return $res;
}
?>我觉得挺好的。
https://stackoverflow.com/questions/16495223
复制相似问题