هل توّد أن تكون جميع الصور المرفوعة على موقعك عليها Watermark بحقوق موقعك؟، إنها خاصية جميلة ستكلف الكثير والكثير من الجهد والتعب إذا أردت أن تقوم بتركيب الووتر مارك على كل صورة عبر الفوتوشوب أو أى محرر صور فى كل مرة تريدرفع صورة فيها، لماذا كل هذا العناء مع أن PHP تقدم لك تلك الخاصية أصلاً؟
سنقوم بإستخدام مكتبة GD الإصدار الثاني على الأقل للقيام بتلك العملية، فقط إتبع الخطوات التالية:
أولاً: قم بإنشاء صورة ووتر مارك، ومن المحبذ أن تكون خلفيتها شفافة كي لا تظهر الصور فى شكل قبيح، وقم بتسمية الصورة watermark.png.
ثانيًا: قم بإنشاء ملف PHP جديد وقم بإضافة تلك الشيفرة إليه:
<?php
$path = $_SERVER['DOCUMENT_ROOT'].$_SERVER['REQUEST_URI'];
$image = imagecreatefromstring(file_get_contents($path));
$w = imagesx($image);
$h = imagesy($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 بإسم الصورة أيًا كان.$path = $_SERVER['DOCUMENT_ROOT'].$_SERVER['REQUEST_URI'];
$image = imagecreatefromstring(file_get_contents($path));
$w = imagesx($image);
$h = imagesy($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();
?>
ثالثًا: قم بتسمية ملف الـPHP مثلاً اسم watermark.php ، ثم قم برفعه إلى المجلد الذي يحتوى على الصور.
رابعًا: قم بإضافة الشيفرة التالية إلى ملف .htaccess :
# .htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule .(gif|jpeg|jpg|png)$ watermark.php [QSA,NC]
مع مراعاة اسم ملف الـPHP لدينا، فإذا كنت قد قمت بتحديد اسم مختلف له، فقم بتغيير هذا الاسم ايضًا فى ملف .htaccessRewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule .(gif|jpeg|jpg|png)$ watermark.php [QSA,NC]
ملاحظة: إن لم تعمل تلك الطريقة، عليك مراسلة مدير السيرفر لكي يقوم بإتاحة خاصية mod_rewrite لكل تعمل.
0 التعليقات:
إرسال تعليق