Goragod.com

Ajax Web Hosting, Domain, ออกแบบเว็บไซต์ด้วย AJAX และ PHP ฟรี โค้ด

  

ปัญหาการอัปโหลดไฟล์ขนาดใหญ่ด้วย SWFUpload

SWFUpload เป็น Flash สำหรับจัดการการอัปโหลด ที่มีคุณสมบัติการอัปโหลดได้สูงสุดถึง 2Gb. (ตามคู่มือของ SWFUpload) ซึ่งโดยทั่วๆไปมันก็มีความสามารถในการใช้งานได้ดีครับ แต่ปัญหาที่เกิดขึ้นกับการใช้งาน SWFUpload ส่วนใหญ่ที่ทำให้มันไม่สามารถใช้งานได้โดยสะดวกนักก็เนื่องมาจากปัญหาทางด้าน Server ครับ ซึ่งหลักๆ ก็คือ Server ไม่ยอมให้อัปโหลดไฟล์ขนาดใหญ่ครับ

การกำหนดค่าเพื่อให้สามารถอัปโหลดไฟล์ขนาดใหญ่ได้

upload_max_filesize ซึ่งหมายถึงการกำหนดขนาดไฟล์อัปโหลดสูงสุด

post_max_size หมายถึงกำหนดปริมาณการโพสต์ สูงสุด

memory_limit หมายถึง กำหนดการใช้งานหน่วยความจำสูงสุของ PHP

ทั้ง 3 ค่า มีหน่วยกำหนดเหมือนกันครับ เช่น
ขออภัย : สำหรับสมาชิกเท่านั้น, สมาชิกกรุณาเข้าระบบก่อน

หมายถึงให้ทำการอัปโหลดได้สูงสุด 3Mb. และ โพสต์ได้สูงสุด 8Mb. และกำหนดการใช้งานหน่วยความจำได้สูงสุด 32Mb.

การกำหนดค่าเหล่านี้ สามารถทำได้ 3 ทางครับ คือ

1.กำหนดใน PHP.ini โดยดูตามชื่อแล้วแก้ไขได้เลยครับ (เสร็จแล้ว Restart Server ด้วย)

2.กำหนดในไฟล์ .htaccess
ขออภัย : สำหรับสมาชิกเท่านั้น, สมาชิกกรุณาเข้าระบบก่อน

3.กำหนดใน PHP โดยใช้ฟังก์ชั่น ini_set()

ขออภัย : สำหรับสมาชิกเท่านั้น, สมาชิกกรุณาเข้าระบบก่อน
ซึ่งในกรณีนี้ต้องดูด้วยว่า Server อนุญาติ ให้กำหนดหรือไม่ ครับ (อาจใส่ @ ข้างหน้าฟังก์ชั่นเพื่อยกเลิกข้อผิดพลาดก็ได้ครับ)

นอกจากนั้น โดยทั่วๆไปหากมีอัปโหลดไฟล์ขนาดใหญ่ อาจเกิด Timeout ขึ้นได้ครับ ให้เรากำหนดค่าเหล่านี้เพิ่มเติม
ขออภัย : สำหรับสมาชิกเท่านั้น, สมาชิกกรุณาเข้าระบบก่อน

หมายเหตุ ฟังก์ชั่น ini_set() อาจไม่สามารถกำหนค่าเหล่านี้ได้หาก Server อยู่ใน Safe Mode ซึ่งคุณอาจลองเปลี่ยนการตั้งค่า มาเป็นการตั้งใน .htaccess และหากยังไม่สำเร็จอีก อาจต้องทำการตั้งค่าที่ PHP.ini ได้เพียงอย่างเดียว
ผู้เขียน gOragod| 23 สค. 2553| 23 สค. 2553| 0| 2464| PHP, Flash