PHP ไม่ได้ระบุให้ส่งออกเฉพาะไฟล์ html เท่านั้น แต่สามารถสร้างไฟล์ gif แบบไดนามิกได้ ฉันพบปัญหาบางอย่างเมื่อใช้ php เพื่อสร้างภาพ gif แบบไดนามิก ซึ่งได้รับการแก้ไขแล้ว ฉันใช้ php4.05 (สำหรับ win32) + apache3.1.2_win32
ปัญหาที่ 1: ไม่สามารถเริ่มโปรแกรมที่สร้าง gif แบบไดนามิกได้เลย
ฉันเขียนตัวอย่างเกี่ยวกับการใช้ php เพื่อสร้าง gif เมื่อฉันเรียกใช้ ฉันพบว่าหน้าเว็บไม่สามารถรีเฟรชได้ ราวกับว่าเพจนั้นตายไปแล้ว และเบราว์เซอร์ไม่มีข้อความแจ้งข้อผิดพลาดใดๆ
วิธีแก้ไข: แก้ไข php.ini ในไดเรกทอรีที่ php ตั้งอยู่
แก้ไข php.ini ในเส้นทางที่ติดตั้ง php (หมายเหตุ: จะต้องเป็น php.ini ในเส้นทาง php) extension_dir = ส่วนขยายเส้นทางที่ติดตั้ง php (สำหรับ ตัวอย่าง: c:phpextensions)
คำถามที่ 2: php_gd.dll ไม่รองรับ gif
ฉันโหลดไลบรารีลิงก์ไดนามิก php_gd.dll ที่จุดเริ่มต้นของโปรแกรม: dl("php_gd.dll"); แต่เมื่อรันโปรแกรม ผลลัพธ์ต่อไปนี้ปรากฏขึ้น:
<br> <b >คำเตือน</b>: ImageGif: ไม่รองรับ GIF ใน PHP build นี้ใน <b>d:apachehtdocsgif2.php3</b> ออนไลน์ <b>12</b><br>
วิธีแก้ไข: ใช้ php4.05
จากนั้นฉันก็พบว่าปัญหาที่เขียนไว้ในหนังสือคือ php_gd.dll ไม่สามารถรองรับการสร้าง gif ได้เลย หลังจากได้รับคำแนะนำจากผู้เชี่ยวชาญ ฉันพบว่าเวอร์ชัน php4.04 สำหรับ win32 ของฉันไม่มี php_gd_gif.dll ดังนั้น ฉันดาวน์โหลด php4 .05 เวอร์ชันที่สูงกว่า ซึ่งมี php_gd_gif.dll ที่รองรับการสร้าง gif แบบไดนามิก
คำถามที่ 3: คำเตือนปรากฏขึ้น: คำเตือน: การลงทะเบียนฟังก์ชั่นล้มเหลว - ชื่อที่ซ้ำกัน - imagearc ใน d:apachehtdocsgif2.php3 ออนไลน์บรรทัดที่ 3
โปรแกรมมีดังนี้:
-
dl("php_gd_gif.dll");
header("ประเภทเนื้อหา:รูปภาพ/gif");
$im = สร้างภาพ(400,30);
$black = imagecolorallocate($im,0,0,0);
$white = imagecolorallocate($im,255,255,255);
อิมเมจไลน์($im,200,15,215,15,$สีขาว);
imagestring($im, 5, 4, 10, "นี่คือ Gif", $white);
imagegif($IM);
imagedestroy($im);
?>
วิธีแก้ไข: แก้ไขโปรแกรมหรือ php.ini
ฟังก์ชัน dl() ใช้เพื่อโหลด dll แต่หาก ";" ที่อยู่หน้า dll ที่ต้องการถูกลบออกจากไฟล์ php.ini แล้ว อย่าใช้ฟังก์ชันนี้ในขณะนี้
หากไม่ได้ลบ ";" ก่อน extension=php_gd_gif.dll จะต้องใช้ dl("php_gd_gif.dll"); เพื่อโหลดไฟล์ดังกล่าว จะคิดว่ามันเป็นชื่อซ้ำกัน