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, שטר של חומר, ולכן מידע נוסף נשלח עם התמונה לפני נתוני התמונה.

PHP imageppeg ו PHP פונקציות imagepng הם פונקציה המשמש לשלוח קוד תמונה ישירות בתגובה השרת.

לא עובד כראוי
PHP - פונקציית
PHP - פונקציית

שאלות נפוצות

מדוע איני יכול להציג את התמונה שנוצרה עם PHP GD בדפדפן שלי?
אם התמונה שלך ב- PHP שנוצרה ב- GD אינה מציגה ומציגה שגיאה בדפדפן, היא עשויה להיות נובעת מכמה סיבות כמו הפלט הקודם שכבר נשלחה, שגיאות אמיתיות במהלך יצירת תמונות, תוך שימוש בסוג התמונה השגוי, או ספריית התמונות של 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
بالضبط ما كنت أبحث عنه ، مثالي

השאר תגובה