GORAGOD.com

การตั้งค่า 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 การตั้งค่าขนาดไฟล์อัปโหลดมีขั้นตอนดังนี้

  1. เปิด Internet Information Services (IIS) Manager
  2. เลือก Site ที่ต้องการตั้งค่า
  3. ไปที่ Request Filtering
  4. คลิก Edit Feature Settings ด้านขวา
  5. กำหนด Maximum allowed content length เป็นขนาดไฟล์ที่ต้องการ เช่น 52428800 bytes สำหรับไฟล์ขนาด 50MB
  6. นอกจากนี้ยังสามารถปรับค่าใน 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
  • ภาษาและเฟรมเวิร์คที่ใช้
  • การตั้งค่าความปลอดภัยของระบบ

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