A-AA+then

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

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

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

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

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

ทั้ง 3 ค่า มีหน่วยกำหนดเหมือนกันครับ เช่น
; Maximum allowed size for uploaded files.
upload_max_filesize = 3M

; Maximum size of POST data that PHP will accept.
post_max_size = 8M

; Maximum amount of memory a script may consume
memory_limit = 32M

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

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

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

2.กำหนดในไฟล์ .htaccess
php_value upload_max_filesize 3M
php_value post_max_size 8M
php_value memory_limit = 32M

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

<?php
    ini_set('memory_limit', '3M');
    ini_set('upload_max_filesize', '8M');
    ini_set('post_max_size', '32M');
?>
ซึ่งในกรณีนี้ต้องดูด้วยว่า Server อนุญาติ ให้กำหนดหรือไม่ ครับ (อาจใส่ @ ข้างหน้าฟังก์ชั่นเพื่อยกเลิกข้อผิดพลาดก็ได้ครับ)

นอกจากนั้น โดยทั่วๆไปหากมีอัปโหลดไฟล์ขนาดใหญ่ อาจเกิด Timeout ขึ้นได้ครับ ให้เรากำหนดค่าเหล่านี้เพิ่มเติม
<?php
    set_time_limit(0);// กำหนดเวลาการประมวลผล script (0 หมายถึงไม่กำหนดเวลาการทำงาน)
    ini_set('max_input_time', 3600);// กำหนดเวลาการทำงานสูงสุดกับการส่งค่าด้วย $_GET $_POST และ $_FILES (วินาที)
    ini_set('max_execution_time', 3600);// กำหนดเวลาการประมวลผล script (วินาที)
?>

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

Relate

^