<!DOCTYPE html> <html> <head> <title>Upload and Add Watermark to Image using PHP</title> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" /> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> </head> <body> <style> .gallery{ width: 100%; text-align: center; } h5{ color: #545353; font-size: 18px; text-transform: uppercase; background: #edeaea; padding: 7px 5px 4px 5px; margin-top: 20px; } .gallery img{ max-width: 100%; padding: 10px; } </style> <?php // Path configuration $targetDir = "uploads/"; $watermarkImagePath = 'img/tutorial101-blogspot-logo.png'; $statusMsg = ''; $showwatermark = ''; if(isset($_POST["submit"])){ if(!empty($_FILES["file"]["name"])){ // File upload path $fileName = basename($_FILES["file"]["name"]); $targetFilePath = $targetDir . $fileName; $fileType = pathinfo($targetFilePath,PATHINFO_EXTENSION); // Allow certain file formats $allowTypes = array('jpg','png','jpeg'); if(in_array($fileType, $allowTypes)){ // Upload file to the server if(move_uploaded_file($_FILES["file"]["tmp_name"], $targetFilePath)){ // Load the stamp and the photo to apply the watermark to $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); } // Set the margins for the watermark $marge_right = 10; $marge_bottom = 10; // Get the height/width of the watermark image $sx = imagesx($watermarkImg); $sy = imagesy($watermarkImg); // Copy the watermark image onto our photo using the margin offsets and // the photo width to calculate the positioning of the watermark. imagecopy($im, $watermarkImg, imagesx($im) - $sx - $marge_right, imagesy($im) - $sy - $marge_bottom, 0, 0, imagesx($watermarkImg), imagesy($watermarkImg)); // Save image and free memory imagepng($im, $targetFilePath); imagedestroy($im); if(file_exists($targetFilePath)){ $statusMsg = "The image with watermark has been uploaded successfully."; $showwatermark = '<h5>Watermarked Image</h5> <div class="gallery"> <img src="uploads/'.$fileName.'" alt=""> </div>'; }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.'; } } ?> <div class="container"> <h2>Upload and Add Watermark to Image using PHP</h2> <div class="row"> <div class="col-lg-12"> <div> <!-- Image upload form --> <form action="" method="post" enctype="multipart/form-data" class="form-inline"> <div class="form-group"> <label for="file">Select Image File to Upload:</label> <input type="file" name="file" class="form-control"> </div> <input type="submit" name="submit" value="Upload" class="btn btn-success"> </form> <?php echo "<p><h4>".$statusMsg."</h4></p>"; echo $showwatermark; ?> </div> </div> </div> </div> </body> </html>
article
Friday, December 13, 2019
Upload and Add Watermark to Image using PHP
Upload and Add Watermark to Image using PHP