imgur.com API 를 이용해 무료 이미지 호스팅 활용하기
http://imgur.com 에서 제공하는 무료 이미지 호스팅을 이용하면 내 홈페이지 저장공간을 절약할 수 있습니다. 홈페이지를 통해 사용자에게 이미지를 제공해 주는 사이트라면 파일 저장 공간이나 트래픽 등을 신경 쓸 수밖에 없습니다.
네이버나 다음에서 제공하는 블로그나 카페를 이용한다면 염려되는 부분이 없지만 독립된 홈페이지, 독자적인 도메인을 이용한다면 비싼 서버 비용을 지불해야 하는데, 사실 개인이나 소규모 업체에서 그 비용을 감당하기에는 현실적으로 어려움이 많을 것이라 생각됩니다.
그래서 imgur.com 에서 제공하는 무료 이미지 호스팅을 이용한다면 서버 임대 비용이나 관리비용, 트래픽 등을 최소화할 수 있으며, 무제한 업로드 할 수 있습니다.
주의할 부분이 있다면, 이미지 업로드는 지극히 개인적인 용도여야 하고, 6개월 동안 사진에 접속이 없으면 자동으로 삭제됩니다. 단, 6개월 이내 사진 접속이 있으면 6개월 재연장되는 방식입니다.
imgur.com에서 API Key를 발급받았다면 클라이언트 ID 를 아래 소스에 입력해주면 바로 사용이 가능합니다.
<!DOCTYPE html>
<html>
<head>
<title>Image Upload Using Imgur API</title>
</head>
<body>
<div id="content" style="margin-top:10px;height:100%;">
<center><h1>Image Upload Using Imgur API</h1></center>
<form action="imgur.php" enctype="multipart/form-data" method="POST">
Choose Image : <input name="img" size="35" type="file"/><br/>
<input type="submit" name="submit" value="Upload"/>
</form>
<?php
// 발급 받은 클라이언트 ID 를 입력합니다.
$client_id="";
if(isset($_POST['submit'])){
$img=$_FILES['img'];
if($img['name']==''){
echo "<h2>An Image Please.</h2>";
}else{
$filename = $img['tmp_name'];
$handle = fopen($filename, "r");
$data = fread($handle, filesize($filename));
$pvars = array('image' => base64_encode($data));
$timeout = 30;
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://api.imgur.com/3/image.json');
curl_setopt($curl, CURLOPT_TIMEOUT, $timeout);
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Authorization: Client-ID ' . $client_id));
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $pvars);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$out = curl_exec($curl);
curl_close ($curl);
$pms = json_decode($out,true);
$url=$pms['data']['link'];
if($url!=""){
echo "<h2>Uploaded Without Any Problem</h2>";
echo "이미지 경로 : $url <br />";
echo "<img src='$url'/>";
}else{
echo "<h2>There's a Problem</h2>";
echo $pms['data']['error']['message'];
}
}
}
?>
</div>
<style>
input{
border:none;
padding:8px;
}
</style>
</body>
</html>
파일을 업로드 하면 이미지 경로를 얻을 수 있습니다. "http://i.imgur.com/파일이름" 형식의 출력된 이미지 경로를 홈페이지에 삽입하세요. 아래 이미지는 결과 화면입니다.
위 소스 출처: http://subinsb.com/uploading-images-using-imgur-api-in-php