Lompat ke konten Lompat ke sidebar Lompat ke footer

Script PHP untuk Resize Gambar Ketika di Upload

Merisize atau merubah ukuran gambar ketika di upload sangat penting di lakukan karena hal ini bisa mengehemat bandwidth ketika meload gambar apalagi jika gambar yang di upload ukurannya lumayan besar, kita bisa saja mensiasati dengan memaksa merubah ukurannya dengan memasukan width pada gambar atau image yang kita upload namun pada kenyataannya tetap saja ukuran file asli  yang di load.


oleh karena itu perlunya kita meresize atau merubah ukuran image ketika di upload, oke pertama yang kita butuhkan adalah server local yang sudah terinstal pada komputer, pada kasus ini saya memakai xampp, buat sebuah folder coba pada direktori xampp/htdocs - xampp/htdocs/coba - kemudian buat folder img di dalam foldr coba, lalu buat file upload_image.php

<?php
//Fungsi untuk meng-upload gambar
function UploadImage($img_name){
header("Content-type: image/jpeg");

//direktori gambar
$vdir_upload = "img/";
$vfile_upload = $vdir_upload . $img_name;

//Simpan gambar dalam ukuran sebenarnya
move_uploaded_file($_FILES["img"]["tmp_name"], $vfile_upload);

//identitas file asli
$im_src = imagecreatefromjpeg($vfile_upload);
$src_width = imageSX($im_src);
$src_height = imageSY($im_src);

//Simpan dalam versi small 110 pixel
//set ukuran gambar hasil perubahan
$dst_width = 110;
$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);

//Simpan gambar
imagejpeg($im,$vdir_upload . "small_" . $img_name);

//Simpan dalam versi medium 320 pixel
//set ukuran gambar hasil perubahan
$dst_width = 320;
$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);

//Simpan gambar
imagejpeg($im,$vdir_upload . "medium_" . $img_name);

imagedestroy($im_src);
imagedestroy($im);
}
//Upload Gambar
UploadImage($_FILES["img"]["name"]);
?>

kemudian buat form.php


<html>
<body>
<form method="post" action="upload_image.php" enctype="multipart/form-data">
Image (JPG/JPEG) <input name="img" type="file"/></td>
<input name="submit" type="submit" value="Upload" />
</body>
</html>

sekarang coba upload sebuah gambar berformat jpg/jpeg. dan lihat pada folder img jika brhasil anda akan menemukan tiga file dengan ukuran berbeda.