পিএইচপি দিয়ে সহজে বানাও ওয়াটারমার্ক - ১ [GET array দিয়ে ইমেজ ফাইল ক্যাচ করা]

আসসালামু আলাইকুম,
এই বিষয়ে মুলত কমল ভাইজান এক্সপার্ট। তবুও আমার কাছে যে স্ক্রিপ্ট গুলো আছে তা আমি শেয়ার করবো ইনশাআল্লাহ।




পিএইচপি প্রোগ্রাম রান করাতে হলে অবশ্যই ওয়েব সার্ভার লাগবে। কিন্তু ওয়েব সার্ভার থাকতে হলে লাগবে টাকা। টাকা যদি থাকে বা ওয়েবসারভার কেনা থাকলে এটা রান করা কোনো ব্যাপার না, ফাইল আপলোড করে ব্রাউজার দিয়ে খুললেই হবে।
আমাদের জন্য আমরা একটা অফলাইনে অ্যাপাচি সার্ভার সিমিউলেট করতে হবে। এর নাম xampp. 
ডাউনলোড করে নাও এখান থেকে https://www.apachefriends.org

এখন সেটআপ শেষ হলে সি ড্রাইভে গিয়ে xampp ফোল্ডারে যাও এবং htdocs ফাইল ফোল্ডার ওপেন কর।
সেখানে একটা ফাইল খুলো watermark নামে বা যেকোনো নামে।

এখন ব্রাউজার খুলো।

অ্যাড্রেস বারে লিখো http://localhost/"তোমার দেওয়া ফোল্ডারের নাম"
আমার ক্ষেত্রে water
http://localhost/water
এবার ঐ ফোল্ডারে ইনডেক্স ডট  পিএইচপি ফাইল তৈরি কর কোন টেক্সট ফাইল এডিটর দিয়ে।

ইনডেক্স ফাইলে নিচের কোড দিয়ে দাও। (ভুল কোড ঠিক করা হয়েছে)

<?php
header('content-type: image/png');
if (isset($_GET['file'])) {
    $source = $_GET['file'];
    $watermark = imagecreatefrompng('logo.png');
    $watermark_width = imagesx($watermark);
    $watermark_height = imagesy($watermark);
    $image = imagecreatetruecolor($watermark_width, $watermark_height);
    $image = imagecreatefrompng($source);
    $image_size = getimagesize($source);
    $x = $image_size[0] - $watermark_width - 10;
    $y = $image_size[1] - $watermark_height - 10;
    imagecopymerge ($image, $watermark, $x, $y, 0, 0, $watermark_width, $watermark_height, 20);
    imagepng($image);
}
else {
    echo 'No Source';
}
?>


লাল রঙ দিয়ে মার্ক করা logo.png ফাইলটি হবে ওয়াটারমার্ক ইমেজ। যেটা মুল ছবির উপরে বসবে।
সবুজ রঙ্গে মার্ক করা ভেরিয়েবল গুলো হল ওয়াটারমার্ক কো অরডিনেট। এর মাধ্যমে ওয়াটারমারকের অবস্থান বদলানো যায়।
আর কালো রঙ দিয়ে মার্ক করা ডিজিট হল ওয়াটার মার্ক কতটা গাড় হবে তার ভেরিয়েবল। ২০ থেকে যতো বাড়বে, ওয়াটার মার্ক আরও গাড় হবে। 

এবার ওয়াটার মার্ক ফাইল, যে ফাইল ওয়াটার মার্ক করবে সেটা সব ঠিক মতো ডিরেক্টরিতে রেখে এভাবে ব্রাউজার দিয়ে চালু করো,
http://localhost/water/index.php?file=Penguins.png
আমার এটা কেবল পিএনজি ফরম্যাটের ফাইল সাপোর্ট করে।
যদি অন্য ফাইল ফরম্যাট সাপোর্ট করাতে চাও তবে 
header('content-type: image/png'); বদলে
header('content-type: image/jpg'); বা
header('content-type: image/gif'); করে দাও

এবং imagecreatefrompng কে imagecreatefrom'format name' করে দাও।

এবং  imagepng($image); কে কাঙ্ক্ষিত ফাইল ফরম্যাট করে নিতে হবে।




আমি এখন GET দিয়ে করতে পারছি।কিন্ত FILES দিয়ে করতে পারছি না। FILES array দিয়ে করতে পারলে ইমেজ আপলোড করে ওয়াটারমার্ক করা যেতো।এজন্যে যেসব ছবি ওয়াটার মার্ক করবে, সেগুলো index.php এর সাথে একই ফোল্ডারে রাখতে হবে। ফাইল আপলোড অপশন অ্যাড করা গেলে আমি আবার পোস্ট করে জানিয়ে দেব।কেউ পারলে অবশ্যই আমাকে জানাবে এবং ইনবক্স করবে।

আমি ফেসবুকে আছি,





শেয়ার করুন

লেখকঃ

আমি তাওসিফ তুরাবি, অনলাইনাম (অনলাইন + নাম) ব্লগার তাওসিফ। এখন, ২০১৬ পর্যন্ত আমি ১৬ বছরের এক কিশোর। পড়াশোনা করি শহীদ পুলিশ স্মৃতি কলেজে। টেক ব্লগ লিখতে ভালবাসি। সাইন্স ফিকশন আর গল্প লিখতে পছন্দ করি।  জিআর+ ব্লগের এর একজন প্রতিষ্ঠাতা অ্যাডমিন।
আমাদের একটা ওয়েব ডেভেলপার ফার্ম আছে যার নাম জিআর+ আইটি বাংলাদেশ
এছাড়া আমার ব্যাক্তিগত ব্লগ রয়েছে। আমার ফেসবুক আইডিতে আমার সাথে সর্বক্ষণ যোগাযোগ করতে পারবেন। 


পূর্ববর্তী পোষ্ট
পরবর্তী পোষ্ট