Upload Gambar dan Menambahkan Watermark dengan PHP

Hallo semuanya, pada kesempatan kali ini kita akan coba  membuat fungsi php tentang bagaimana cara memberikan watermark saat upload gamar dengan php. Watermark adalah pilihan terbaik untuk melindungi gambar agar tidak dicuri atau digunakan kembali oleh orang lain. kalian dapat menampilkan kepemilikan dengan menambahkan watermark ke gambar. watermark  membantu mengidentifikasi pembuat gambar / foto. Sebagian besar, watermark digunakan dalam gambar yang dilindungi hak cipta. Umumnya, logo perusahaan atau nama pembuat ditambahkan ke gambar sebagai watermark.

Mengimplementasikan watermark cukup mudah ketika kita menggunakan php, kalian bisa menambahkan watermark dari gambar logo kedalam gambar besar kalian, kita akan bahas caranya dibawah ini.

Form Upload File

Jangan lupa menambahkan method="post" dan enctype="multipart/form-data".

<form action="upload.php" method="post" enctype="multipart/form-data">
    Select Image File to Upload:
    <input type="file" name="file">
    <input type="submit" name="submit" value="Upload">
</form>

Saat kita guanakan form tersebut, maka hasil data akan diteruskan ke file upload.php, yang dimana nantinya berfungsi untuk mengupload dan menambahkan watermark pada gambar.


Upload gambar dan menambahkan watermark dengan php

Buat sebuah file dengan nama upload.php sesuai dengan form diatas, pada upload php kita akan menggunakan fungsi berikut:

<?php
// Path configuration
$targetDir = "uploads/";
$watermarkImagePath = 'codexworld-logo.png';
 
$statusMsg = '';
if(isset($_POST["submit"])){
    if(!empty($_FILES["file"]["name"])){
        $fileName = basename($_FILES["file"]["name"]);
        $targetFilePath = $targetDir . $fileName;
        $fileType = pathinfo($targetFilePath,PATHINFO_EXTENSION);
         
        $allowTypes = array('jpg','png','jpeg');
        if(in_array($fileType, $allowTypes)){
            if(move_uploaded_file($_FILES["file"]["tmp_name"], $targetFilePath)){
                $watermarkImg = imagecreatefrompng($watermarkImagePath);
                switch($fileType){
                    case 'jpg':
                        $im = imagecreatefromjpeg($targetFilePath);
                        break;
                    case 'jpeg':
                        $im = imagecreatefromjpeg($targetFilePath);
                        break;
                    case 'png':
                        $im = imagecreatefrompng($targetFilePath);
                        break;
                    default:
                        $im = imagecreatefromjpeg($targetFilePath);
                }
                 
                $marge_right = 10;
                $marge_bottom = 10;
                 
                $sx = imagesx($watermarkImg);
                $sy = imagesy($watermarkImg);

                imagecopy($im, $watermarkImg, imagesx($im) - $sx - $marge_right, imagesy($im) - $sy - $marge_bottom, 0, 0, imagesx($watermarkImg), imagesy($watermarkImg));
                 
                imagepng($im, $targetFilePath);
                imagedestroy($im);
     
                if(file_exists($targetFilePath)){
                    $statusMsg = "The image with watermark has been uploaded successfully.";
                }else{
                    $statusMsg = "Image upload failed, please try again.";
                }  
            }else{
                $statusMsg = "Sorry, there was an error uploading your file.";
            }
        }else{
            $statusMsg = 'Sorry, only JPG, JPEG, and PNG files are allowed to upload.';
        }
    }else{
        $statusMsg = 'Please select a file to upload.';
    }
}
 
echo $statusMsg;


Pada contoh diatas dapat kalian coba untuk mengunggah gambar dengan watermark dengan menggunakan PHP. Kalian akan dapat menambahkan watermark ke gambar yang diunggah secara otomatis menggunakan PHP. Berdasarkan offset margin yang ditentukan, watermark dapat ditambahkan pada posisi apa pun dalam gambar utama. Kalian dapat dengan mudah meningkatkan fungsionalitas kode untuk menambahkan watermark teks ke gambar menggunakan PHP.

26 Februari 2020

Webinar Gratis 2024


Selanjutnya Pada Bulan Maret 2024

Sabtu, 09 Maret 2024


10 Bahasa Rekomendasi Untuk Dipelajari di 2024

Python Developer, Data Science, Web Application

Kursus Python Django Web Application 2024 di DUMET School Mini Bootcamp Backend Laravel 11 Bulan Mei 2024 di DUMET School
Webinar Selanjutnya Mei 2024

Minggu, 26 Mei 2024, 09.00-13.00 WIB

(4 Jam Membuat Backend di Laravel 11)

chat