PHP-JScript

Berbagi Pengetahuan Dasar PHP dan Javascript

Membuat fungsi untuk upload gambar sekaligus mengkompres dan mengubah ukuran file gambar

Pada artikel sebelumnya saya sudah membahas tentang bagaimana caranya membuat validasi ekstensi file gambar apa saja yang bisa dan diperbolehkan untuk di upload, nah sekarang selanjutkan saya ingin membahas bagaimana caranya membuat Fungsi upload gambar pada direktori tertentu sekaligus mengkompres ukuran dan merubah size dari file gambar tersebut. caranya cukup mudah pertama yang perlu dilakukan jika teman-teman semua pada Ngopi, silahkan sediakan Kopi terlebih dahulu…:D. Semangat.

Kita akan bermain sedikit dengan yang namanya Fungsi. untuk apa Fungsi dibuat? tujuannya untuk membuat mudah sebuah proses, tidak terlalu banyak ngetik program dan dibuat cuma satu kali saja tapi di pake berulang kali. itulah keunggulan dari sebuah fungsi. nah mari kita bahas dari dasar tentang pengertian dan sintaks dasar Fungsi. tentunya sambil ngopi ya…:D

Sintak dasar dari Fungsi adalah :

// non Parameter
function nama_fungsi(){
 .... isi Fungsi ...
}
// dengan Parameter
function nama_fungsi(nama_parameter){
 .... isi Fungsi ...
}

Contoh :

// Fungsi non Parameter
function namasaya(){
 echo "Fajar Witoko.<br>";
}

//Pemanggilan Fungsi non Parameter
echo "Nama Asli Saya : "; namasaya();

// Fungsi dengan Parameter
function istrisaya($namanya){
 echo "Nama Istri Saya : ".$namanya.".";
}
//pemanggilan Fungsi dengan Parameter
istrisaya("Dwi Hartati");

Output :

Nama Asli Saya : Fajar Witoko.
Nama Istri Saya : Dwi Hartati.

apakah Anda sudah memahami ilmu dasar dari pembuatan Fungsi di atas?, jika sudah mari kita Ngopi dulu.
selanjutnya kita akan membuat fungsi yang sebenarnya cekidot :

Sebelum teman-teman membuat fungsi ini, buat terlebih dahulu Form dengan inputan File di dalamnya seperti berikut :

<form name="upload" action="simpan.php" methode="post">
<input name="NamaFileUp" type="file">
<input name="submit" type="submit">
</form>

Buat 1 file PHP dengan nama fungsi_upload.php, yang isinya seperti berikut :

function UploadGambar($fupload_name){
   $vdir_upload = "direktori_penyimpanan_foto_anda/"; // Direktori penyimpanan Foto
   $vfile_upload = $vdir_upload . $fupload_name;
   move_uploaded_file($_FILES['NamaFileUp']['tmp_name'], $vfile_upload);
   $type = exif_imagetype($vfile_upload);
   switch ($type) {
	case 1 : //untuk gambar GIF
	 $im_src = imagecreatefromgif($vfile_upload);
	 $src_width = imageSX($im_src);
	 $src_height = imageSY($im_src);

	 //Simpan dalam versi small 60 pixel
	 //Set ukuran gambar hasil perubahan
	 $dst_width = 60;
	 $dst_height = ($dst_width/$src_width)*$src_height;

	 //proses perubahan ukuran
	 $im = imagecreatetruecolor($dst_width,$dst_height);
	 imagecopyresampled($im, $im_src, 0, 0, 0, 0, $dst_width, $dst_height, $src_width, $src_height);

         //upload dengan nama yang berbeda karena beda size
	 imagegif($im,$vdir_upload . "small_" . $fupload_name);

	 imagedestroy($im_src);
	 imagedestroy($im);
	break;
	case 2 : //Untuk Gambar JPEG
	 $im_src = imagecreatefromjpeg($vfile_upload);
	 $src_width = imageSX($im_src);
	 $src_height = imageSY($im_src);

	 //Simpan dalam versi small 60 pixel
	 //Set ukuran gambar hasil perubahan
	 $dst_width = 60;
	 $dst_height = ($dst_width/$src_width)*$src_height;

	 //proses perubahan ukuran
	 $im = imagecreatetruecolor($dst_width,$dst_height);
	 imagecopyresampled($im, $im_src, 0, 0, 0, 0, $dst_width, $dst_height, $src_width, $src_height);
	 imagejpeg($im,$vdir_upload . "small_" . $fupload_name);
	 imagedestroy($im_src);
	 imagedestroy($im);
	break;
	case 3 : //untuk gambar PNG
	 $im_src = imagecreatefrompng($vfile_upload);
	 $src_width = imageSX($im_src);
	 $src_height = imageSY($im_src);

	 //Simpan dalam versi small 60 pixel
	 //Set ukuran gambar hasil perubahan
	 $dst_width = 60;
	 $dst_height = ($dst_width/$src_width)*$src_height;

	 //proses perubahan ukuran
	 $im = imagecreatetruecolor($dst_width,$dst_height);
	 imagecopyresampled($im, $im_src, 0, 0, 0, 0, $dst_width, $dst_height, $src_width, $src_height);

	 imagepng($im,$vdir_upload . "small_" . $fupload_name);
	 imagedestroy($im_src);
	 imagedestroy($im);
	break;
	case 6 : //Untuk gambar BMP
	 $im_src = imagecreatefrombmp($vfile_upload);
	 $src_width = imageSX($im_src);
	 $src_height = imageSY($im_src);
	 //Simpan dalam versi small 60 pixel
	 //Set ukuran gambar hasil perubahan
	 $dst_width = 60;
	 $dst_height = ($dst_width/$src_width)*$src_height;

	 //proses perubahan ukuran
	 $im = imagecreatetruecolor($dst_width,$dst_height);
	 imagecopyresampled($im, $im_src, 0, 0, 0, 0, $dst_width, $dst_height, $src_width, $src_height);
	 image2wbmp($im,$vdir_upload . "small_" . $fupload_name);
	 imagedestroy($im_src);
	 imagedestroy($im);
	break;
	default: return '';  break;
    }
  return $im_src;
}

Proses Pembuatan Fungsi untuk Upload Gambar sudah selesai. Kita lanjutkan dengan membuat isi dari File simpan.php seperti berikut :

  include "fungsi_upload.php";
  $lokasi_file    = $_FILES['NamaFileUp']['tmp_name'];
  $tipe_file      = $_FILES['NamaFileUp']['type'];
  $nama_file      = $_FILES['NamaFileUp']['name'];
  $acak           = rand(1,99);
  $nama_file_unik = $acak.$nama_file;
  //Cara memanggil Fungsi di atas
  if (!empty($lokasi_file)){
    UploadGambar($nama_file_unik);
    echo "Upload Gambar Berhasil, Lihat Folder Anda.";
  }

Tidak terlalu rumit bukan?. silahkan di praktekin ya semoga berjalan dengan lancar. saya sudah menggunakannya di berbagai program yang pernah saya buat dan hasilnya sangat memuaskan. dan sangat menolong saya dalam hal proses Upload Foto.

Semangat. Semoga bermanfaat.

Incoming search terms:

  • Cara mengubah ukuran foto dengan php
  • apa fungsi upload
  • ubah 2 foto dengan php
  • merubah ukuran foto dengan php
  • mengupload dan merubah ukuran gambar dengan php
  • mengganti nama upload gambar berbeda dengan nama asli
  • membuat fungsi upload dengan javascript
  • limit ukuran gambar move upload file
  • fungsi untuk mengupload banyak gambar
  • fungsi dan pengertian move_uploaded_files php
 

7 Responses to “Membuat fungsi untuk upload gambar sekaligus mengkompres dan mengubah ukuran file gambar”

  • Idris says:

    Mohon scriptnya dikirim email saya Mas Admin… saya mencoba tapi tdk berhasil… trims…

    • Rayyan says:

      Langsung saja di download kan bila ada fasilitas download nya, kalau ndak ada fasilitas downloadnya dicoba dulu gan jangan menyerah ya… keep spirit sambbil minum SPRIT atau FANTA…:D

  • berkat says:

    kagak bisa di hosting gann
    ane hosting di masterweb
    cpanel

    nape ya gan??

  • Elgi says:

    Makasih tutorialnya om,,, berguna banget.. tapi kalau dalam 1 form itu banyak upload foto om,,, gimana caranya 1 file fungsi_upload.php itu berguna untuk semua foto, karena yg dibaca pada fungsi itu hanya foto dengan name=”NamaFileUp”?

    • Rayyan says:

      Ya mas Elgi sama-sama Alhamdulillah jika bermanfaat mas, OK mas itu bisa saja dilakukan dengan menggunakan ARRAY mas, Contoh :NamaFileUp[1], dst.. coba pelajari cara penggunaan ARRAY mas.. Okay

  • Rayyan says:

    OK mas gan, bisa saja itu dilakukan, dengan menggunakan FUngsi ARRAY, contoh : NamaFileUp[1], NamaFileUp[2] dst.. coba pelajari cara penggunaan ARRAY ya mas…trims

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>