PHP GD generated image تصویر را نمی توان نمایش داد، زیرا در فایرفاکس دارای خطا است



هنگام ایجاد یک تصویر با پی اچ پی، برای مثال اضافه کردن یک علامت علامت به یک تصویر ذخیره شده سرور، با استفاده از کد زیر و یا مشابه آن با JPEG به جای PNG، ممکن است تصویر به طور کامل تولید نمی شود و خطایی را که به طور مستقیم در فایرفاکس دیده می شود پر می کند، اما نه در Chrome

این نوع کد، با وجود کار بر روی برخی از سرورها، ممکن است در حال حاضر بر روی بعضی دیگر، گاهی اوقات به دلایل مبهم کار کند. در مورد من، آن را کاملا به خوبی در محلی کار کرد، اما تولید شده در زیر خطا در سرور اینترنت، تصویر را نمی توان نمایش داده شد، زیرا حاوی خطاهای.

این مسئله می تواند به دلایل مختلف باشد، در اینجا برخی از آنها آمده است:

یک خروجی قبلا تنظیم شده است.

یک خطای واقعی از تولید تصویر.

نوع تصویر اشتباه استفاده می شود.

کتابخانه تصویر نصب نشده است.

یک خروجی قبلا تنظیم شده است

حتی اگر قصد نداشته باشید، ممکن است مثال مثال باشد که دیگر اسکریپت های قبلی حاوی فضاهای در انتها بود - برای جلوگیری از این خطا، مطمئن شوید که PHP توصیه نمی کند که اسکریپت هایی با تگ پایان PHP را بسته نکنید؟>

سپس، قبل از استفاده از تابع سرصفحه، از کد زیر استفاده کنید تا مطمئن شوید که هر سرصفحه قبلی تنظیم شده است

و همچنین این تابع به منظور اطمینان از اینکه خروجی قبل از سرصفحه و تصویر تولید شده است

این مسئله را در مورد من حل کرد و تصویر به درستی نمایش داده شد.

یک خطای واقعی از تولید تصویر

در صورتی که یک خطای واقعی در هنگام تولید تصویر پرتاب شود، مطمئن شوید که پی اچ پی برای نمایش تمام انواع خطاهای احتمالی تنظیم شده است و مجلات مربوطه را بررسی می کند تا بتوانید آن را ردیابی و حل کند.

کد زیر PHP تمام خطاهای موجود در log را گزارش می کند:

استاد ایجاد وب سایت: اکنون ثبت نام کنید!

حضور دیجیتالی خود را با دوره جامع ایجاد وب سایت ما تغییر دهید - سفر خود را برای تبدیل شدن به یک متخصص وب امروز شروع کنید!

ثبت نام در اینجا

حضور دیجیتالی خود را با دوره جامع ایجاد وب سایت ما تغییر دهید - سفر خود را برای تبدیل شدن به یک متخصص وب امروز شروع کنید!

پس از آن می توانید متوجه شوید که برخی از خطاها گزارش شده اند، حتی اگر در HTML خروجی ظاهر نشد، به دلیل تنظیمات سرور.

نوع تصویر اشتباه استفاده می شود

اطمینان حاصل کنید که انواع تصویری که استفاده میکنید درست هستند، برای مثال با استفاده از این کد برای تشخیص بین png و jpeg.

همچنین اطمینان حاصل کنید که هدر درست بر اساس خروجی مورد استفاده، بسته به تابع تولید تصویر مورد استفاده قرار می گیرد

کتابخانه تصویر نصب نشده است

مطمئن شوید که کتابخانه های تصویر نصب شده اند. برای انجام این کار، تابع phpinfo () را اجرا کنید در یک اسکریپت و خروجی را برای ارزش زیر مربوط به PHP GD، کتابخانه گرافیکی که توسط توابع مانند imagepng () استفاده می شود، بررسی می کند.

در صورت عدم وجود بسته ها، راه حل آن بستگی به تنظیمات محلی شما دارد، یا با اضافه کردن بسته با استفاده از دستورات PEAR، یا با استفاده از میزبان وب ساخته شده در راه حل برای نصب بسته.

چه کاری باید انجام دهیم که imagejpeg یا imagepng کار نمی کند

در NotePad ++، فایل PHP را که تابع imagepng را فراخوانی می کند باز کنید و آن را پس از رفتن به منو ذخیره کنید. Encoding> Convert to UTF-8 without BOM.

در Dreamweaver، به صفحه Properties> Title / Encoding> بروید و علامت گذاری کنید Include Unicode Signature (BOM) را انتخاب کنید.

هنگامی که PHP imagejpeg یا imagepng کار نمی کند، احتمالا به این دلیل است که فایل PHP با BOM، Bill Of Material، کد شده است و بنابراین اطلاعات اضافی با تصویر قبل از داده های تصویر ارسال می شود.

توابع PHP imagejpeg و PHP imagepng تابع مورد استفاده برای ارسال یک کد عکس به طور مستقیم در پاسخ سرور است.

PHP - imagepng به درستی کار نمی کند
PHP - تابع imagepng
PHP - عملکرد imagejpeg

سوالات متداول

چرا نمی توانم تصویر ایجاد شده با PHP GD را در مرورگر خود نمایش دهم؟
اگر تصویر تولید شده GD PHP شما نمایش داده نمی شود و خطایی را در مرورگر نشان می دهد ، ممکن است به دلایل مختلفی مانند خروجی قبلی که قبلاً ارسال شده است ، خطاهای اصلی در طول تولید تصویر ، استفاده از نوع تصویر اشتباه یا کتابخانه تصویر GD نیست. نصب اطمینان حاصل کنید که هیچ خروجی قبلی ارسال نشده است ، خطاهای اصلی را بررسی کنید ، نوع تصویر و هدر را تأیید کنید و نصب کتابخانه 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
بالضبط ما كنت أبحث عنه ، مثالي

پیام بگذارید