การตั้งค่า Server เพื่อเพิ่มขนาดไฟล์อัปโหลด
การตั้งค่า Server เพื่อเพิ่มขนาดไฟล์ที่สามารถอัปโหลดได้ อาจต้องมีการปรับค่าทั้งฝั่ง Server เองและบางครั้งอาจต้องมีการตั้งค่าใน Code ของเว็บไซต์ด้วย บทความนี้จะอธิบายวิธีการตั้งค่าในระบบต่างๆ เพื่อให้สามารถอัปโหลดไฟล์ขนาดใหญ่ขึ้นได้
1. การตั้งค่าใน PHP (php.ini)
ในกรณีที่ Server ของคุณใช้ PHP คุณสามารถปรับขนาดของไฟล์ที่อนุญาตให้อัปโหลดได้โดยการแก้ไขไฟล์ php.ini
ดังนี้
- upload_max_filesize ขนาดไฟล์สูงสุดที่อนุญาตให้อัปโหลด
- post_max_size ขนาดของข้อมูลทั้งหมดที่ส่งผ่าน POST ซึ่งรวมไฟล์ด้วย
- memory_limit ขนาดหน่วยความจำสูงสุดที่ PHP ใช้ได้
ตัวอย่าง:
upload_max_filesize = 50M
post_max_size = 50M
memory_limit = 128M
หลังจากแก้ไขเสร็จแล้วให้ทำการ Restart Web Server เช่น Apache หรือ Nginx เพื่อให้การตั้งค่ามีผล
2. การตั้งค่าใน Apache (httpd.conf หรือ .htaccess)
หากคุณใช้ Apache Web Server สามารถเพิ่มขนาดไฟล์ได้โดยการปรับในไฟล์ httpd.conf
หรือ .htaccess
ของโปรเจค
- เพิ่มการตั้งค่าใน
.htaccess
php_value upload_max_filesize 50M
php_value post_max_size 50M
php_value memory_limit 128M
หมายเหตุ: วิธีนี้ใช้ได้เฉพาะในกรณีที่ Server ของคุณอนุญาตให้ปรับค่าผ่าน .htaccess
3. การตั้งค่าใน Nginx
หากคุณใช้ Nginx ให้ตั้งค่าขนาดไฟล์สูงสุดที่อนุญาตให้อัปโหลดได้ในไฟล์ nginx.conf
หรือในไฟล์การตั้งค่าของ Virtual Host ของคุณ
- client_max_body_size ค่าความจุสูงสุดของข้อมูล POST
ตัวอย่าง:
server {
...
client_max_body_size 50M;
...
}
หลังจากแก้ไขเสร็จแล้วให้ทำการ Restart Nginx Server เพื่อให้การตั้งค่ามีผล
4. การตั้งค่าใน IIS (Internet Information Services)
สำหรับ Server ที่ใช้ Windows IIS การตั้งค่าขนาดไฟล์อัปโหลดมีขั้นตอนดังนี้
- เปิด Internet Information Services (IIS) Manager
- เลือก Site ที่ต้องการตั้งค่า
- ไปที่ Request Filtering
- คลิก Edit Feature Settings ด้านขวา
- กำหนด Maximum allowed content length เป็นขนาดไฟล์ที่ต้องการ เช่น
52428800
bytes สำหรับไฟล์ขนาด 50MB - นอกจากนี้ยังสามารถปรับค่าใน
web.config
ของโปรเจคได้
ตัวอย่างการตั้งค่าใน web.config
:
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="52428800" />
</requestFiltering>
</security>
</system.webServer>
5. การปรับค่าผ่าน Code ในกรณีที่มีการกำหนดขนาดไฟล์อัปโหลดไว้
หากมีการกำหนดขนาดไฟล์สูงสุดที่อัปโหลดได้ผ่าน Code ของเว็บไซต์ (เช่น ในกรณีที่ใช้ JavaScript หรือ PHP เพิ่มเติม) ต้องแน่ใจว่าค่าขนาดไฟล์ตรงกับการตั้งค่าบน Server
ini_set('upload_max_filesize', '50M');
ini_set('post_max_size', '50M');
ini_set('memory_limit', '128M');
สรุป
การตั้งค่าขนาดไฟล์อัปโหลดต้องทำในหลายระดับ ขึ้นอยู่กับ
- ประเภทของ Web Server
- ภาษาและเฟรมเวิร์คที่ใช้
- การตั้งค่าความปลอดภัยของระบบ
ควรพิจารณาความเหมาะสมของขนาดไฟล์ที่อนุญาต โดยคำนึงถึงการใช้งานและทรัพยากรของระบบ