Kompres Gambar, Ubah Ukuran Gambar dengan PHP - Hallo semuanya, saat membuat website, gambar menjadi salah satu elemen inti yang bisa menjadi kekuatan utama website, namun yang namanya gambar tetaplah sebuah gambar, sebuah file yang memiliki ukuran, warna dan resolusi, semakin besar ukuran dan resolusinya dan semakin beragam warna yang digunakan, semakin besar ukuran byte gambar. Biasanya ukuran gambar pada website yang ditampilkan secara langsung tidak lebih dari 1000px, oleh karena itu dalam hal ini pihak backend dapat menyesuaikan dengan cara memanipulasi gambar yang diunggah oleh penulis untuk dikompresi atau diperkecil dari ukuran aslinya.
Mengompres atau mengoptimasi gambar untuk sebuah website dapat dilakukan melalui fungsi php dengan cukup mudah, berikut adalah cara kompres gambar dengan php
Formulir Unggah File
Pada form upload file kita membutuhkan 2 hal penting
- metode='posting'
- enctype="multipart/formulir-data"
Pilih File Gambar
Setelah mengirimkan, data akan diproses dalam file yang diunggah. php
Kompres dan Unggah Gambar dengan PHP
Selanjutnya kita membuat sebuah file bernama upload. php untuk mengompres gambar dan mengunggahnya
Pada proses kompresi ini kita menggunakan fungsi compressImage() pada php
Ini kode yang Anda butuhkan
function compressImage($sumber, $tujuan, $kualitas) {
// Dapatkan info gambar
$imgInfo = getimagesize($source);
$mime = $imgInfo['mime'];// Buat gambar baru dari file yang diunggah
beralih($mime){
case 'gambar/jpeg'
$gambar = gambarbuatdarijpeg($sumber);
istirahat;
huruf 'gambar/png'
$gambar = gambarbuatdaripng($sumber);
istirahat;
kasus 'gambar/gif'
$gambar = gambarbuatdarigif($sumber);
istirahat;
bawaan
$gambar = gambarbuatdarijpeg($sumber);
}// menyimpan gambar
imagejpeg($gambar, $tujuan, $kualitas);// Mengembalikan gambar terkompresi
kembali $tujuan;
}// Lokasi jalur untuk mengunggah
$uploadPath = "upload/";// saat mengirimkan file
$status = $statusMsg = '';
if(isset($_POST["kirim"])){
$status = 'kesalahan';
jika(. kosong($_FILES["gambar"]["nama"])) {
// informasi file
$namafile = namadasar($_FILES["gambar"]["nama"]);
$imageUploadPath = $uploadPath. $namaberkas;
$fileType = pathinfo($imageUploadPath, PATHINFO_EXTENSION);// Kondisi format yang diizinkan
$allowTypes = array('jpg','png','jpeg','gif');
if(in_array($fileType, $allowTypes)){
// larik gambar sementara
$imageTemp = $_FILES["image"]["tmp_name"];// Kompres dan unggah data
$compressedImage = compressImage($imageTemp, $imageUploadPath, 75);if($compressedImage){
$status = 'sukses';
$statusMsg = "Gambar berhasil dikompresi. ";
}kalau tidak{
$statusMsg = "Kompresi gambar gagal. ";
}
}kalau tidak{
$statusMsg = 'Maaf, hanya JPG, JPEG, PNG, & GIF yang diperbolehkan. ';
}
}kalau tidak{
$statusMsg = 'Pilih gambar yang akan diunggah. ';
}
}// Cetak pesan status
echo $statusMsg;?>
Baiklah sobat, pada fungsi diatas kita menggunakan fungsi compressImage() pada php, dan melakukan kompresi 75% dari kualitas asli saat gambar diupload. demikianlah artikel kali ini membahas tentang kompres dan upload gambar dengan php. semoga bermanfaat