اضافة حقوق موقعك لآلاف الصور برمجياً
السلام عليكم ورحمة الله وبركاته
درس اليوم في التعامل مع الصور، وهو عن كيفية اضافة حقوق موقعك أو اي نص تريده الى اي كمية من الصور..
في الواقع لن يتم اضافة الحقوق الى الصور فعليا ولكنا سنقوم بطباعتها فوق الصورة عن طريق الخاصية mod_rewrite فكما سترى ستظل الصور كما هي عند استعراضها من FTP ولكن ستظهر الحقوق فقط للزوار او لاي شخص تريده..
متطلبات الدرس:
تحتاج الى وجود خاصية mod_rewrite + مكتبة الصور GD 2 على الأقل وهي اشياء متوافرة في أي استضافة تدعم PHP
الخطوة الأولى:
اضافة الكود التالي الى ملف .htaccess ورفعه الى مجلد الصور
كود PHP:
# .htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule .(gif|jpeg|jpg|png)$ watermark.php [QSA,NC]
الخطوة الثانية:
اضافة الكود التالي الى ملف watermark.php ورفعه الى مجلد الصور:
كود PHP:
<?php
// watermark.php
// Path the the requested file
$path = $_SERVER['DOCUMENT_ROOT'].$_SERVER['REQUEST_URI'];
// Load the requested image
$image = imagecreatefromstring(file_get_contents($path));
$w = imagesx($image);
$h = imagesy($image);
// Load the watermark image
$watermark = imagecreatefrompng('watermark.png');
$ww = imagesx($watermark);
$wh = imagesy($watermark);
// Merge watermark upon the original image
imagecopy($image, $watermark, $w-$ww, $h-$wh, 0, 0, $ww, $wh);
// Send the image
header('Content-type: image/jpeg');
imagejpeg($image);
exit();
?>
الخطوة الثالثة:
رفع ملف بالاسم watermark.png يحتوي على العلامة المائية او حقوق الموقع (ويفضل أن تون خلفيته شفافة لكي يعطي مظهرا اجمل)
الخطوة الرابعة:
الذهاب الى عنوان أي صورة بالمتصفح لتجد الحقوق قد تم طباعتها عليها
أمثلة عملية:
http://www.montadaphp.net/lessons/wa...ng/nature1.jpg
http://www.montadaphp.net/lessons/wa...ng/nature2.jpg
http://www.montadaphp.net/lessons/wa...ng/nature3.jpg
لتحميل المثال كاملاً بالمرفقات
من درس:
Watermarking images with PHP
==================================
http://www.montadaphp.net/showthread.php?t=971