Kompresi File Gambar Sebelum Diupload


Bismilllahirrohmanirrohim..

Alhamdulillah banget nih, udah lama juga saya tidak berbagi pengalaman dan ilmu pengetahuan disini. Tutorial kali ini emang bener seperti tagline dari weblog saya, “Berbagi pengalaman dan Ilmu Pengetahuan”. Ceritanya begini, yang kita tahu adalah max upload file yang boleh diupload ke server adalah 2 MB. Kita sebenernya bisa merubah menjadi 20 MB misalnya, kalau saja memang kita sendiri yang punya servernya yaitu dengan merubah file php.ini yang ada di webserver. Nah, yang jadi masalah kalau kita hanya “menumpang” file-file kita pada server orang lain, so kita tidak punya akses untuk merubah file php.ini yang ada di webserver. Tutorial kali ini akan membahas tentang bagaimana cara mengkompresi file gambar sebelum akhirnya menguploadnya pada server.

Agar pembahasan ini tidak terlalu rumit, saya akan mencontohkan satu buah file gambar yang akan dikompresi sebelum akhirnya diupload pada server. Oke, silakan buat folder “latihan” didalam “C:\xampp\htdocs\”. Didalam folder “latihan” terdapat file “upload.php” dan subfolder “images”. Silakan buka file “upload.php” lalu ketikkan baris program berikut ini:

<?php
//form upload file gambar
echo "<form method='post' action='' enctype='multipart/form-data'>
<label for='pilih_file'>Pilih File</label>
<input type='file' name='gambar'>
<input type='submit' name='upload' value='Upload'>
</form>";

//proses kompresi file dan upload
if (isset($_POST['upload']))
{
    $tmp_name = $_FILES['gambar']['tmp_name'];
    $name = $_FILES['gambar']['name'];
    $size = $_FILES['gambar']['size'];
    $location = "images/". $name;

    //cek ukuran
    //jika lebih dari 2 MB, turunkan kualitas menjadi 75%
    if ($size > 1024 * 1024)
    {
        imagejpeg(imagecreatefromjpeg($tmp_name, $tmp_name, 75));
    }

    //upload file
    $upload = move_uploaded_file($tmp_name, $location);
    if ($upload) echo "Berhasil upload file";
    else echo "Gagal upload file";
}
?>

Kalo gak salah baris programnya kayak gitu, rada lupa.. (newbie). Sekarang silakan temen-temen jalankan browser dan ketikkan localhost/latihan/upload.php trus pilih file *.JPG yang akan diupload, setelah itu klik Upload. Mudah2an berhasil.. Hehehe.. 😉

Diskusi yuk kalo masih ada kesalahan penulisan baris program.. 🙂

6 thoughts on “Kompresi File Gambar Sebelum Diupload

Tinggalkan Komentar

This site uses Akismet to reduce spam. Learn how your comment data is processed.