获取 imgur cURL 到 json_decode php 上传表单
fetching imgur cURL to json_decode php upload form
我正在尝试使用 imgur 作为上传后端 - 我想如果有上传图片它可以保护我的网站(对吗?)so
我是这样走的:
<?php
$client_id = 'xxxxx';
$file = file_get_contents($_FILES["imgupload"]["tmp_name"]);
$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
));
if ($error = curl_error($curl)) {
die('cURL error:'.$error);
}
$json_returned = curl_exec($curl); // blank response
echo "Result: " . $json_returned ;
curl_close ($curl);
?>
HTML 表格
<form action="upload" method="post" enctype="multipart/form-data">
<input type="file" name="imgupload" /><br>
<input type="submit" value="Upload to Imgur" />
</form>
当我点击提交时,结果和我猜的一样好^^
Result: {"data":{"id":"TvFtE29","title":null,"description":null,"datetime":1585015712,"type":"image\/png","animated":false,"width":900,"height":940,"size":48902,"views":0,"bandwidth":0,"vote":null,"favorite":false,"nsfw":null,"section":null,"account_url":null,"account_id":0,"is_ad":false,"in_most_viral":false,"has_sound":false,"tags":[],"ad_type":0,"ad_url":"","edited":"0","in_gallery":false,"deletehash":"Z9xFH8mrSH8lRDB","name":"","link":"https:\/\/i.imgur.com\/TvFtE29.png"},"success":true,"status":200}
但我的问题是我想将 https://i.imgur.com/TvFtE29.png 收集到
特定变量中,例如 $uploaded = 'https://i.imgur.com/TvFtE29.png'; 添加到我的数据库中 -> 用户图片
我选择了 json_decode 但是我没有以正确的方式完成,
如果有人可以帮助解决这个问题
谢谢。
json_decode
在这里工作得很好:
$json_returned = json_decode($json_returned, true);
$uploaded = $json_returned['data']['link'];
我正在尝试使用 imgur 作为上传后端 - 我想如果有上传图片它可以保护我的网站(对吗?)so
我是这样走的:
<?php
$client_id = 'xxxxx';
$file = file_get_contents($_FILES["imgupload"]["tmp_name"]);
$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
));
if ($error = curl_error($curl)) {
die('cURL error:'.$error);
}
$json_returned = curl_exec($curl); // blank response
echo "Result: " . $json_returned ;
curl_close ($curl);
?>
HTML 表格
<form action="upload" method="post" enctype="multipart/form-data">
<input type="file" name="imgupload" /><br>
<input type="submit" value="Upload to Imgur" />
</form>
当我点击提交时,结果和我猜的一样好^^
Result: {"data":{"id":"TvFtE29","title":null,"description":null,"datetime":1585015712,"type":"image\/png","animated":false,"width":900,"height":940,"size":48902,"views":0,"bandwidth":0,"vote":null,"favorite":false,"nsfw":null,"section":null,"account_url":null,"account_id":0,"is_ad":false,"in_most_viral":false,"has_sound":false,"tags":[],"ad_type":0,"ad_url":"","edited":"0","in_gallery":false,"deletehash":"Z9xFH8mrSH8lRDB","name":"","link":"https:\/\/i.imgur.com\/TvFtE29.png"},"success":true,"status":200}
但我的问题是我想将 https://i.imgur.com/TvFtE29.png 收集到
特定变量中,例如 $uploaded = 'https://i.imgur.com/TvFtE29.png'; 添加到我的数据库中 -> 用户图片
我选择了 json_decode 但是我没有以正确的方式完成,
如果有人可以帮助解决这个问题
谢谢。
json_decode
在这里工作得很好:
$json_returned = json_decode($json_returned, true);
$uploaded = $json_returned['data']['link'];