افزایش درآمد تبلیغاتی 50-250٪ با Ezoic. شریک چاپی گواهی گوگل.
افزایش درآمد تبلیغاتی 50-250٪ با Ezoic. شریک چاپی گواهی گوگل.
 

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

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

افزایش درآمد تبلیغاتی 50-250٪ با Ezoic. شریک چاپی گواهی گوگل.
افزایش درآمد تبلیغاتی 50-250٪ با Ezoic. شریک چاپی گواهی گوگل.
 

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

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

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

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

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

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

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

$stamp = imagecreatefrompng('watermark.png');
if(!$im = imagecreatefrompng('image.png')) die('Error generating image');
$marge_right = $marge_bottom = 10;
$sx = imagesx($stamp);
$sy = imagesy($stamp);

$copyimage = imagecopy($im, $stamp, imagesx($im) - $sx - $marge_right, imagesy($im) - $sy - $marge_bottom, 0, 0, imagesx($stamp), imagesy($stamp));

header('Content-type: image/png');
if(!imagepng($im)) die('Error generating image');
if(!imagedestroy($im)) die('Error generating image');
if(!imagedestroy($stamp)) die('Error generating image');

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

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

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

foreach (getallheaders() as $name => $value) {
header_remove($name);
}

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

ob_end_clean();

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

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

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

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

error_reporting(E_ALL);
ini_set('display_errors', '1');

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

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

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

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

//to generate png image
header('Content-type: image/png');
if(!imagepng($im)) die('Error generating image');
//to generate jpeg image
header('Content-type: image/jpeg');
if(!imagejpeg($im)) die('Error generating image');

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

مطمئن شوید که کتابخانه های تصویر نصب شده اند. برای انجام این کار، تابع 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
افزایش درآمد تبلیغاتی 50-250٪ با Ezoic. شریک چاپی گواهی گوگل.
افزایش درآمد تبلیغاتی 50-250٪ با Ezoic. شریک چاپی گواهی گوگل.
 

ادامه مطلب

مقالات مشابه

افزایش درآمد تبلیغاتی 50-250٪ با Ezoic. شریک چاپی گواهی گوگل.
افزایش درآمد تبلیغاتی 50-250٪ با Ezoic. شریک چاپی گواهی گوگل.
 

نظرات (6)

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

پیام بگذارید

داده های شما - رمزگذاری شده است. هویت - ناشناس. سرعت اینترنت - برتر.
داده های شما - رمزگذاری شده است. هویت - ناشناس. سرعت اینترنت - برتر.