Advertisement
rikokurniawan

uploadkompresgambar.php

Aug 27th, 2018
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.46 KB | None | 0 0
  1. <?php
  2. /*
  3. fungsi UploadImageResize mengecilkan width dan kualitas gambar
  4. fungsi UploadGambarResize mengecilkan width dan height serta kualitas gambar
  5. simpan skrip ini pada sebuah file dengan nama kompresgambar.php misalnya.
  6. CV MediaSoft Solusindo https://www.facebook.com/MediasoftSolusindoPKU/
  7. */
  8. function UploadImageResize($new_name,$file,$dir,$width,$kualitas){
  9.     //direktori gambar
  10.     $vdir_upload = $dir;
  11.     $vfile_upload = $vdir_upload . $_FILES[''.$file.'']["name"];
  12.  
  13.     //Simpan gambar dalam ukuran sebenarnya
  14.     move_uploaded_file($_FILES[''.$file.'']["tmp_name"], $dir.$_FILES[''.$file.'']["name"]);
  15.  
  16.     //identitas file asli
  17.     $info = getimagesize($vfile_upload);
  18.     if ($info['mime'] == 'image/jpeg')
  19.         $im_src = imagecreatefromjpeg($vfile_upload);
  20.     elseif ($info['mime'] == 'image/gif')
  21.         $im_src = imagecreatefromgif($vfile_upload);
  22.     elseif ($info['mime'] == 'image/png')
  23.         $im_src = imagecreatefrompng($vfile_upload);
  24.     //$im_src = imagecreatefromjpeg($vfile_upload);
  25.     $src_width = imageSX($im_src);
  26.     $src_height = imageSY($im_src);
  27.  
  28.     //Set ukuran gambar hasil perubahan
  29.     $dst_width = $width;
  30.     $dst_height = ($dst_width/$src_width)*$src_height;
  31.  
  32.     //proses perubahan ukuran
  33.     $im = imagecreatetruecolor($dst_width,$dst_height);
  34.     imagecopyresampled($im, $im_src, 0, 0, 0, 0, $dst_width, $dst_height, $src_width, $src_height);
  35.  
  36.     //Simpan gambar
  37.     if ($info['mime'] == 'image/jpeg')
  38.         imagejpeg($im,$vdir_upload . $new_name,$kualitas);
  39.     elseif ($info['mime'] == 'image/gif')
  40.         imagegif($im,$vdir_upload . $new_name);
  41.     elseif ($info['mime'] == 'image/png') {
  42.         $pngQuality = $kualitas;
  43.         $pngQuality = ($kualitas - 100) / 11.111111;
  44.         $pngQuality = round(abs($pngQuality));
  45.         imagepng($im,$vdir_upload . $new_name,$pngQuality,NULL);
  46.     }
  47.    
  48.     //Hapus gambar di memori komputer
  49.     imagedestroy($im_src);
  50.     imagedestroy($im);
  51.     $remove_small = unlink("$vfile_upload");
  52. }
  53.  
  54.  
  55. function UploadGambarResize($new_name,$file,$dir,$lebar,$tinggi,$kualitas){
  56.     //direktori gambar
  57.     $vdir_upload = $dir;
  58.     $vfile_upload = $vdir_upload . $_FILES[''.$file.'']["name"];
  59.  
  60.     //Simpan gambar dalam ukuran sebenarnya
  61.     move_uploaded_file($_FILES[''.$file.'']["tmp_name"], $dir.$_FILES[''.$file.'']["name"]);
  62.  
  63.     //identitas file asli
  64.     $info = getimagesize($vfile_upload);
  65.     if ($info['mime'] == 'image/jpeg')
  66.         $im_src = imagecreatefromjpeg($vfile_upload);
  67.     elseif ($info['mime'] == 'image/gif')
  68.         $im_src = imagecreatefromgif($vfile_upload);
  69.     elseif ($info['mime'] == 'image/png')
  70.         $im_src = imagecreatefrompng($vfile_upload);
  71.     //$im_src = imagecreatefromjpeg($vfile_upload);
  72.     $src_width = imageSX($im_src);
  73.     $src_height = imageSY($im_src);
  74.  
  75.     //Set ukuran gambar hasil perubahan
  76.     $dst_width = $lebar;
  77.     $dst_height = $tinggi;
  78.  
  79.     //proses perubahan ukuran
  80.     $im = imagecreatetruecolor($dst_width,$dst_height);
  81.     imagecopyresampled($im, $im_src, 0, 0, 0, 0, $dst_width, $dst_height, $src_width, $src_height);
  82.  
  83.     //Simpan gambar
  84.     if ($info['mime'] == 'image/jpeg')
  85.         imagejpeg($im,$vdir_upload . $new_name,$kualitas);
  86.     elseif ($info['mime'] == 'image/gif')
  87.         imagegif($im,$vdir_upload . $new_name);
  88.     elseif ($info['mime'] == 'image/png') {
  89.         $pngQuality = $kualitas;
  90.         $pngQuality = ($kualitas - 100) / 11.111111;
  91.         $pngQuality = round(abs($pngQuality));
  92.         imagepng($im,$vdir_upload . $new_name,$pngQuality,NULL);
  93.     }
  94.    
  95.     //Hapus gambar di memori komputer
  96.     imagedestroy($im_src);
  97.     imagedestroy($im);
  98.     $remove_small = unlink("$vfile_upload");
  99. }
  100.  
  101. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement