PHP GD ولدت صورة لا يمكن عرض الصورة لأنها تحتوي على أخطاء في Firefox



عند إنشاء صورة باستخدام PHP ، على سبيل المثال إضافة علامة مائية إلى صورة مخزنة للخادم ، باستخدام شفرة أدناه ، أو رمز مشابه باستخدام JPEG بدلاً من PNG ، قد لا يتم إنشاء الصورة على الإطلاق وإلقاء خطأ ، مرئيًا مباشرة على Firefox ، ولكن ليس على Chrome.

قد يعمل هذا النوع من التعليمات البرمجية ، على الرغم من العمل على بعض الخوادم ، على بعض الأشياء الأخرى ، أحيانًا لأسباب غامضة. في حالتي ، عملت بشكل جيد تماما محليا ، ولكن تنتج تحت الخطأ على خادم الإنترنت ، لا يمكن عرض الصورة لأنها تحتوي على أخطاء.

يمكن أن تأتي المشكلة من عدة أسباب ، في ما يلي بعض منها:

تم بالفعل تعيين الإخراج مسبقًا.

خطأ حقيقي من توليد الصور.

يتم استخدام نوع الصورة الخطأ.

مكتبة الصور غير مثبتة.

تم بالفعل تعيين الإخراج مسبقًا

حتى لو لم يكن عن قصد ، قد يكون الأمر على سبيل المثال أن النصوص السابقة الأخرى كانت تحتوي على مسافات في النهاية - لتجنب هذا الخطأ ، تأكد ، كما توصي PHP ، بعدم إغلاق البرامج النصية باستخدام علامة نهاية PHP؟

ثم ، قبل استخدام وظيفة الرأس ، استخدم التعليمة البرمجية التالية للتأكد من تجاهل أي مجموعة تم تعيينها مسبقًا

وكذلك هذه الوظيفة للتأكد من عدم إنشاء أي مخرجات قبل الرأس والصورة

هذا حل المشكلة في حالتي ، وتم عرض الصورة بشكل صحيح مرة أخرى.

خطأ حقيقي من توليد الصور

في حالة حدوث خطأ حقيقي أثناء إنشاء الصورة ، تأكد من تعيين PHP لعرض كل أنواع الأخطاء الممكنة ، والتحقق من السجلات المناظرة ، حتى تتمكن من تعقبها وحلها.

سيعمل التعليمة البرمجية التالية على جعل تقارير PHP جميع الأخطاء في السجل:

إنشاء موقع الويب الرئيسي: التسجيل الآن!

قم بتحويل تواجدك الرقمي من خلال دورة إنشاء موقع الويب الشامل - ابدأ رحلتك لتصبح خبيرًا على الويب اليوم!

التسجيل هنا

قم بتحويل تواجدك الرقمي من خلال دورة إنشاء موقع الويب الشامل - ابدأ رحلتك لتصبح خبيرًا على الويب اليوم!

قد تكتشف بعد ذلك أنه تم الإبلاغ عن بعض الأخطاء ، حتى إذا لم تظهر في مخرجات html ، بسبب تكوين الخادم.

يتم استخدام نوع الصورة الخطأ

تأكد من صحة أنواع الصور التي تستخدمها ، على سبيل المثال باستخدام هذا الرمز للتمييز بين png و jpeg.

تأكد أيضًا من صحة رأس الصفحة وفقًا للإخراج المستخدم ، اعتمادًا على وظيفة إنشاء الصورة المستخدمة

مكتبة الصور غير مثبتة

للتأكد من تثبيت مكتبات الصور. للقيام بذلك ، قم بتشغيل الدالة phpinfo ()؛ في برنامج نصي ، والتحقق من الإخراج للقيمة التالية المتعلقة بـ PHP GD ، مكتبة الرسومات المستخدمة بواسطة وظائف مثل imagepng ()؛

في حالة فقدان الحزم ، تعتمد طريقة حلها على التكوين المحلي ، إما عن طريق إضافة الحزمة باستخدام أوامر PEAR ، أو باستخدام مضيف الويب المدمج في حل لتثبيت الحزم.

ما يجب القيام به عندما لا يعمل imagejpeg أو imagepng

في NotePad ++ ، افتح ملف PHP الذي يستدعي وظيفة imagepng ، واحفظه بعد الانتقال إلى قائمة التشفير> تحويل إلى UTF-8 بدون BOM.

في DreamWeaver ، انتقل إلى خصائص الصفحة> العنوان / الترميز> قم بإلغاء تحديد تضمين توقيع Unicode (BOM).

عندما لا يعمل PHP imagejpeg أو imagepng ، فمن المحتمل أن يكون ملف PHP قد تم ترميزه باستخدام BOM و Bill Of Material ، وبالتالي يتم إرسال معلومات إضافية مع الصورة قبل بيانات الصورة.

وظائف PHP imagejpeg و PHP imagepng هي وظيفة تستخدم لإرسال رمز صورة مباشرة في استجابة الخادم.

PHP - imagepng لا يعمل بشكل صحيح
PHP - وظيفة imagepng
PHP - وظيفة imagejpeg

الأسئلة المتداولة

لماذا لا يمكنني عرض الصورة التي تم إنشاؤها باستخدام PHP GD في متصفحي؟
إذا لم يتم عرض صورة PHP GD التي تم إنشاؤها الخاص بك وتظهر خطأً في المتصفح ، فقد يكون ذلك بسبب عدة أسباب مثل الإخراج السابق الذي يتم إرساله بالفعل أو أخطاء حقيقية أثناء توليد الصور أو باستخدام نوع الصورة الخاطئة أو مكتبة صورة GD NOT NOT يجري تثبيتها. تأكد من عدم إرسال أي إخراج سابق ، تحقق من وجود أخطاء حقيقية ، والتحقق من نوع الصورة ورأسها ، وتأكيد تثبيت مكتبة GD.
كيف يمكن للمطورين إصلاح مسألة صور PHP GD التي لا يتم عرضها في Firefox بسبب الأخطاء؟
يجب على المطورين التحقق من رمز توليد الصور للأخطاء ، تأكد من إرسال رأس نوع المحتوى الصحيح قبل أي بيانات صورة ، والتحقق من عدم إخراج أي أخطاء أو تحذيرات PHP. قد يساعد أيضًا استخدام OB_Clean () قبل إخراج الصورة.

Yoann Bierling
عن المؤلف - Yoann Bierling
Yoann Bierling هو محترف نشر على شبكة الإنترنت والاستشارات الرقمية ، حيث يكون له تأثير عالمي من خلال الخبرة والابتكار في التقنيات. شغوف بتمكين الأفراد والمؤسسات من الازدهار في العصر الرقمي ، فهو مدفوع لتقديم نتائج استثنائية ودفع النمو من خلال إنشاء المحتوى التعليمي.

إنشاء موقع الويب الرئيسي: التسجيل الآن!

قم بتحويل تواجدك الرقمي من خلال دورة إنشاء موقع الويب الشامل - ابدأ رحلتك لتصبح خبيرًا على الويب اليوم!

التسجيل هنا

قم بتحويل تواجدك الرقمي من خلال دورة إنشاء موقع الويب الشامل - ابدأ رحلتك لتصبح خبيرًا على الويب اليوم!




تعليقات (6)

 2018-08-19 -  Irvin Vasquez
Simple, clear and well explained, many thanks
 2018-08-19 -  Joyce Lawrence
ありがとう、非常に有益な
 2018-08-19 -  Catherine Roberts
Dokładnie tego, czego szukałem, idealnie
 2018-08-19 -  Headlinext
जानकारी का महान टुकड़ा, साझा करने के लिए धन्यवाद
 2018-08-19 -  Marshel
विश्वास नहीं कर सकता कि मुझे अंत में समाधान मिला, यह लंबे समय तक एक दुःस्वप्न था, अब हल हो गया
 2018-08-19 -  porcateraC
بالضبط ما كنت أبحث عنه ، مثالي

اترك تعليقا