لا تحدد PHP إخراج ملفات html فقط، بل يمكنها إنشاء ملفات gif ديناميكية. لقد واجهت بعض المشاكل عند استخدام php لإنشاء صور gif ديناميكيًا، والتي تم حلها وأنا أستخدم php4.05 (لنظام Win32) + apache3.1.2_win32.
المشكلة 1: لا يمكن بدء تشغيل البرنامج الذي يقوم بإنشاء ملف GIF ديناميكيًا على الإطلاق
لقد كتبت مثالاً حول استخدام php لإنشاء ملف gif. عندما قمت بتشغيله، وجدت أنه لا يمكن تحديث الصفحة، كما لو كانت ميتة، ولم يكن لدى المتصفح أي مطالبات بالخطأ.
الحل: قم بتعديل php.ini في الدليل الذي يوجد به php.
قم بتعديل php.ini في المسار الذي تم تثبيت php فيه (ملاحظة: يجب أن يكون php.ini في مسار php) Extension_dir = ملحقات المسار حيث تم تثبيت php (لـ مثال: ج: phpextensions).
السؤال 2: php_gd.dll لا يدعم gif.
لقد قمت بتحميل مكتبة الارتباط الديناميكي php_gd.dll في بداية البرنامج: dl("php_gd.dll"); ولكن عند تشغيل البرنامج ظهرت النتيجة التالية:
<br> <b >تحذير</b>: ImageGif: لا يوجد دعم GIF في إصدار PHP هذا في <b>d:apachehtdocsgif2.php3</b> على السطر <b>12</b><br>.
الحل: استخدم php4.05
عندها فقط اكتشفت أن المشكلة المكتوبة في الكتاب هي أن php_gd.dll لا يمكنه دعم إنشاء ملف gif على الإطلاق، وبعد أن أرشدني أحد الخبراء، اكتشفت أن إصدار php4.04 لنظام التشغيل win32 يفتقر إلى php_gd_gif.dll، لذا. لقد قمت بتنزيل إصدار أعلى من php4.05، والذي يحتوي على php_gd_gif.dll الذي يدعم إنشاء صور GIF ديناميكية.
السؤال 3: يظهر تحذير: تحذير: فشل تسجيل الوظيفة - اسم مكرر - imagearc في d:apachehtdocsgif2.php3 على السطر 3.
البرنامج كما يلي:
<؟
dl("php_gd_gif.dll");
header("content-type:image/gif");
$im = imagecreate(400,30);
$black = imagecolorallocate($im,0,0,0);
$white = imagecolorallocate($im,255,255,255);
خط الصورة($im,200,15,215,15,$white);
imagestring($im, 5, 4, 10, "هذه صورة متحركة"، $white);
imagegif($im);
تدمير الصورة($im);
?>
الحل: تعديل البرنامج أو php.ini
يتم استخدام الدالة dl() لتحميل dll، ولكن إذا تمت إزالة ";" الموجودة أمام ملف dll المطلوب في ملف php.ini، فلا تستخدم هذه الوظيفة في الوقت الحالي.
إذا لم تتم إزالة ";" قبل الامتداد=php_gd_gif.dll في ملف ini، فيجب استخدام dl("php_gd_gif.dll"); باختصار: الاثنان مختلفان عن بعضهما البعض سوف أعتقد أنه اسم مكرر.