http://imgur.com 에서 제공하는 무료 이미지 호스팅을 이용하면 내 홈페이지 저장공간을 절약할 수 있습니다. 홈페이지를 통해 사용자에게 이미지를 제공해 주는 사이트라면 파일 저장 공간이나 트래픽 등을 신경 쓸수 밖에 없습니다.

네이버나 다음에서 제공하는 블로그나 카페를 이용한다면 염려되는 부분이 없지만 독립된 홈페이지, 독자적인 도메인을 이용한다면 비싼 서버 비용을 지불해야 하는데, 사실 개인이나 소규모 업체에서 그 비용을 감당하기에는 현실적으로 어려움이 많을 것이라 생각됩니다. 

그래서 imgur.com 에서 제공하는 무료 이미지 호스팅을 이용한다면 서버 임대 비용이나 관리비용, 트래픽 등을 최소화할 수 있으며, 무제한 업로드할 수 있습니다.

주의점이 있다면, 이미지 업로드는 지극히 개인적인 용도여야 하고, 6개월 동안 사진에 접속이 없으면 자동으로 삭제됩니다. 단, 6개월 이내 사진 접속이 있으면 6개월 재연장되는 식입니다.

먼저 imgur.com 에 로그인을 합니다. 가입하지 않았다면 회원 가입을 먼저 해주세요. 상단 프로파일을 보면 하단 settings 링크를 클릭합니다.

왼쪽 메뉴 하단에 애플리케이션 링크를 선택합니다.

첫 화면 중간 부분에  register 링크를 클릭합니다.

애플리케이션 이름, 콜백 URL을 입력하고 타입은 3번째를 선택합니다. 콜백 URL은 사용할 도메인이 habonyphp.com 이면 habonyphp.com 이라고 입력해 줍니다.

이메일 주소는 인증할 실제 이메일 주소를 입력해 주고 완료를 선택합니다. 이메일 주소를 인증 완료하면 정상적으로 API 를 이용할 수 있습니다.

여기서 중요한 부분은 클라이언트 ID 입니다. 

클라이언트 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>
   <? // 발급 받은 클라이언트 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($handlefilesize($filename));
     
$pvars   = array('image' => base64_encode($data));
     
$timeout 30;
     
$curl    curl_init();
     
curl_setopt($curlCURLOPT_URL,  'https://api.imgur.com/3/image.json');
     
curl_setopt($curlCURLOPT_TIMEOUT$timeout);
     
curl_setopt($curlCURLOPT_HTTPHEADER,  array('Authorization: Client-ID ' $client_id));
     
curl_setopt($curlCURLOPT_POST1);
     
curl_setopt($curlCURLOPT_RETURNTRANSFER1);
     
curl_setopt($curlCURLOPT_POSTFIELDS$pvars);
     
curl_setopt($curlCURLOPT_SSL_VERIFYPEERfalse);
     
$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://subinsb.com/uploading-images-using-imgur-api-in-php

파일을 업로드 하면 이미지 경로를 얻을 수 있습니다. "http://i.imgur.com/파일이름" 형식의 출력된 이미지 경로를 홈페이지에 삽입하세요. 아래 이미지는 결과 화면입니다.