تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] تغيير الكود ليتوافق مع تفعيل خاصية safe mode
#4
PHP كود :
<?php
error_reporting
(E_ALL & ~E_NOTICE);
header('Content-Type: image/png');

define("MDIR"dirname(__FILE__));

// ================== إعدادات ==================
$watermark_text "الشعافينمنحرب"// نص الختم
$font MDIR "/includes/fonts/arial.ttf"// الخط
$font_size 18;
$band_height 35;

$save_dir MDIR "/wmark_/";

// ================== دالة تحميل الصورة ==================
function downloadImage($url$save_path) {
    // محاولة file_get_contents
    $data = @file_get_contents($url);

    if ($data !== false) {
        file_put_contents($save_path$data);
        return true;
    }

    // إذا فشل نستخدم cURL
    if (function_exists('curl_init')) {
        $ch curl_init($url);
        $fp fopen($save_path'wb');

        curl_setopt($chCURLOPT_FILE$fp);
        curl_setopt($chCURLOPT_FOLLOWLOCATIONtrue);
        curl_setopt($chCURLOPT_TIMEOUT20);

        curl_exec($ch);
        curl_close($ch);
        fclose($fp);

        return file_exists($save_path);
    }

    return false;
}

// ================== جلب الصورة ==================
if (!isset($_GET['src'])) {
    die('No image');
}

$src trim($_GET['src']);
$filename md5($src) . ".img";
$local_image $save_dir $filename;

// تحميل الصورة إذا غير موجودة
if (!file_exists($local_image)) {
    if (!downloadImage($src$local_image)) {
        die('فشل تحميل الصورة');
    }
}

// ================== تحديد نوع الصورة ==================
$info getimagesize($local_image);
if (!
$info) {
    die('Invalid image');
}

switch (
$info['mime']) {
    case 'image/jpeg':
        $im imagecreatefromjpeg($local_image);
        break;
    case 'image/png':
        $im imagecreatefrompng($local_image);
        break;
    case 'image/gif':
        $im imagecreatefromgif($local_image);
        break;
    case 'image/webp':
        $im imagecreatefromwebp($local_image);
        break;
    case 'image/bmp':
        $im imagecreatefrombmp($local_image);
        break;
    default:
        die('نوع صورة غير مدعوم');
}

// ================== إنشاء طبقة الختم ==================
$width imagesx($im);
$stamp imagecreatetruecolor($width$band_height);

// خلفية سوداء شفافة
$black imagecolorallocatealpha($stamp00060);
imagefilledrectangle($stamp00$width$band_height$black);

// لون النص
$white imagecolorallocate($stamp255255255);

// كتابة النص
$y $font_size 5;
imagettftext($stamp$font_size010$y$white$font$watermark_text);

// ================== دمج الختم ==================
$stamp_w imagesx($stamp);
$stamp_h imagesy($stamp);

imagecopymerge(
    $im,
    $stamp,
    imagesx($im) - $stamp_w,
    imagesy($im) - $stamp_h,
    0,
    0,
    $stamp_w,
    $stamp_h,
    60
);

// ================== إخراج الصورة ==================
imagepng($im);

// تنظيف
imagedestroy($im);
imagedestroy($stamp);
?>
طريقة الاستخدام : 
PHP كود :
watermark.php?src=https://example.com/image.jpg 
ملاحظة : تأكد من وجود الخط: /includes/fonts/arial.ttf
إذا لم يكن موجود، سيفشل الكتابة على الصورة.
[صورة مرفقة: 177461173141861.gif]
الرد }}}
تم الشكر بواسطة: nnnjk


الردود في هذا الموضوع
RE: تغيير الكود ليتوافق مع تفعيل خاصية safe mode - بواسطة Amir_Alzubidy - 05-04-26, 01:22 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  طلب اضافة ختم الصور لهذا الكود nnnjk 48 1,011 05-04-26, 03:40 PM
آخر رد: Amir_Alzubidy
  [كود] طلب تعديل الكود mostfa1995 0 1,839 23-04-16, 04:05 AM
آخر رد: mostfa1995
Question كيف استخدم هذا الكود ...؟ Ahmed-IT 1 2,260 05-08-15, 08:31 PM
آخر رد: oneyemenweb2
  هل هذا الكود جيد لتعديل نص في ملف نصي ali.alfoly 16 8,006 02-05-14, 05:37 PM
آخر رد: vbnet
Star [سؤال] اخواني الرجاء التعديل علي هذا الكود SniperHacker 3 2,908 27-02-14, 12:38 AM
آخر رد: oneyemenweb2

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم