why php cannot resize large image imagecreatefromjpeg()

เมื่อทำเว็บเกี่ยวกับการอัพโหลดรูปภาพ เราจำเป็นต้องทำการ resize ขนาดของรูปเพื่อให้ พอดีกับกรอบที่ต้องการ พูดกันในแง่ของ user ก็คือ
user บางคนไม่มีความสามารถในการย่อไฟล์ภาพ (resize image) อันเนื่องมาจาก ไม่มีโปรแกรมย่อ, ย่อไม่เป็น, หรือไม่ต้องการย่อขนาด

เราจึงจำเป็นต้องมีการเขียนโปรแกรมเพื่อย่อขนาดของรูปลง เพื่อลดพื้นที่ในการจัดเก็บข้อมูล ทั้งนี้การอัพโหลดส่วนใหญ่แล้ว รูปที่สามารถอัพโหลดได้ จะมีขนาดไม่เกิน 12M ซึ่งรุปส่วนมาก็ไม่ได้ใหญ่ขนาดนี้หรอก

รูปใหญ่ๆส่วนมากจะอยู่ที่ 1-3M ทั้งนี้เองการใช้ function imagecreatefromjpeg() นั้น มีข้อจำกัดในการ สร้างรูปขึ้นมาด้วย GD ในที่นี้ผมเองพบปัญหาว่า ตอนที่ทำในเครื่อง รูปไม่ขึ้น แต่พอใช้กับใน host จริงๆแล้ว รูปขึ้น

อันเนื่องมาจากเราติดตั้ง apache ไว้ในเครื่องโดยไม่ได้ทำการปรับแต่งกันเลย วิธีทำให้สามารถ resize หรือ createimage ขนาดใหญ่ๆได้ ทำได้โดยเข้าไปที่ php.ini แล้วแก้
memory_limit =8M
ให้เป็น
memory_limit =32M หรือมากกว่านี้ก็ได้

เท่านี้รูปของเราก็จะขึ้นมาตามต้องการแล้วครับ