Login
Upload Gambar Menggunakan API Imgur di PHP

Upload Gambar Menggunakan API Imgur di PHP

Imgur memberikan pengembang untuk meng-upload gambar anonymous menggunakan aplikasi mereka. Untuk ini, Anda hanya perlu mendaftar untuk Imgur dan mendapatkan Application Client ID. Dalam posting ini saya akan memberitahu Anda langkah demi langkah proses upload gambar menggunakan API Imgur di PHP. Ini sangat mudah. Anda hanya perlu mengirim permintaan POST ke file di situs mereka.


DEMO


Sign Up

Pergi ke halaman ini untuk mendaftar. Mendukung pendaftaran Sosial dengan Google, Facebook, Twitter & Yahoo atau Anda dapat mendaftar melalui form.


Create Application & Get Client ID

Anda perlu membuat sebuah aplikasi untuk mendapatkan Client ID. Untuk membuat aplikasi pergi ke halaman ini. Pilih Anonymous usage without user authorization option as Authorization Type.

Mengisi semua bidang lain termasuk CAPTCHA. Kemudian klik tombol submit. Sekarang Anda akan mendapatkan client ID dan client Secret key. Kita hanya akan membutuhkan client ID.


HTML

<form action="upload.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>

Kode HTML di atas adalah form untuk mengupload file.


upload.php

<?

$img=$_FILES['img'];

if(isset($_POST['submit'])){ 

 if($img['name']==''){  

  echo "<h2>An Image Please.</h2>";

 }else{

  $filename = $img['tmp_name'];

  $client_id="88fd52d307ecceb";

  $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);

  $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 "<img src='$url'/>";

  }else{

  echo "<h2>There's a Problem</h2>";

  echo $pms['data']['error'];  

  } 

 }

}

?>

Perbaikan

Kadang-kadang, kode tersebut tidak akan bekerja atau masalah lain akan timbul. Dalam hal ini, periksa hal berikut:

1. Apakah PHP JSON ekstensi sudah diinstal?
2. Apakah ekstensi PHP cURL sudah diinstal?

Jika di atas tidak mengatasi masalah Anda, tambahkan kode ini setelah menetapkan variabel $curl dalam kode:

curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);

Dengan melakukan ini, kita menonaktifkan verifikasi SSL Certificate yang tidak baik, jadi saya sarankan Anda melakukan hal ini.


Ganti isi variabel $client_id dengan nilai Client ID yang Anda punya. Anda bisa mendapatkan URL dari gambar yang diunggah dari variabel $url.

Tags: #PHP #API #cURL