PHP GD generated image ไม่สามารถแสดงภาพได้เนื่องจากมีข้อผิดพลาดใน 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 ไปที่หน้าคุณสมบัติ> ชื่อ / การเข้ารหัส> ยกเลิกการเลือก Include Unicode Signature (BOM)
เมื่อ PHP imagejpeg หรือ imagepng ไม่ทำงานเป็นไปได้ว่าไฟล์ PHP นั้นถูกเข้ารหัสด้วย BOM, Bill Of Material และข้อมูลเพิ่มเติมจะถูกส่งไปพร้อมกับรูปภาพก่อนข้อมูลรูปภาพ
ฟังก์ชั่น PHP imagejpeg และ PHP imagepng เป็นฟังก์ชั่นที่ใช้ในการส่งรหัสรูปภาพโดยตรงในการตอบกลับของเซิร์ฟเวอร์
PHP - imagepng ทำงานไม่ถูกต้องPHP - ฟังก์ชั่น imagepng
PHP - ฟังก์ชั่น imagejpeg
คำถามที่พบบ่อย
- ทำไมฉันไม่สามารถแสดงภาพที่สร้างขึ้นด้วย PHP GD ในเบราว์เซอร์ของฉัน
- หากภาพที่สร้าง PHP GD ของคุณไม่ได้แสดงและแสดงข้อผิดพลาดในเบราว์เซอร์อาจเป็นเพราะสาเหตุหลายประการเช่นเอาต์พุตก่อนหน้านี้ถูกส่งไปแล้วข้อผิดพลาดของแท้ระหว่างการสร้างภาพโดยใช้ประเภทภาพที่ไม่ถูกต้องหรือไลบรารีภาพ GD กำลังติดตั้ง ตรวจสอบให้แน่ใจว่าไม่มีการส่งเอาต์พุตก่อนหน้านี้ตรวจสอบข้อผิดพลาดของแท้ตรวจสอบประเภทภาพและส่วนหัวและยืนยันการติดตั้งของไลบรารี GD
- นักพัฒนาสามารถแก้ไขปัญหาของ PHP GD ที่สร้างภาพที่ไม่แสดงใน Firefox ได้อย่างไรเนื่องจากข้อผิดพลาดได้อย่างไร
- นักพัฒนาควรตรวจสอบรหัสการสร้างภาพสำหรับข้อผิดพลาดตรวจสอบให้แน่ใจว่าส่วนหัวประเภทเนื้อหาที่ถูกต้องจะถูกส่งก่อนข้อมูลรูปภาพใด ๆ และตรวจสอบว่าไม่มีข้อผิดพลาด PHP หรือคำเตือนถูกส่งออก การใช้ ob_clean () ก่อนที่จะส่งออกภาพอาจช่วยได้เช่นกัน
Yoann Bierling เป็นผู้เชี่ยวชาญด้านการเผยแพร่เว็บและดิจิตอลให้คำปรึกษาสร้างผลกระทบระดับโลกผ่านความเชี่ยวชาญและนวัตกรรมด้านเทคโนโลยี หลงใหลในการเพิ่มขีดความสามารถของบุคคลและองค์กรให้เติบโตในยุคดิจิตอลเขาได้รับแรงผลักดันให้ส่งมอบผลลัพธ์ที่ยอดเยี่ยมและผลักดันการเติบโตผ่านการสร้างเนื้อหาทางการศึกษา
การสร้างเว็บไซต์หลัก: ลงทะเบียนตอนนี้!
แปลงสถานะดิจิตอลของคุณด้วยหลักสูตรการสร้างเว็บไซต์ที่ครอบคลุมของเรา - เริ่มต้นการเดินทางสู่การเป็นผู้เชี่ยวชาญด้านเว็บวันนี้!
ลงทะเบียนที่นี่