GORAGOD.com

การกำหนดให้ PHP อัปโหลดได้เกิน 2 M

ปกติแล้ว PHP จะยอมให้เราอัพโหลดได้ไม่เกิน 2M ครับ แต่หากเราต้องการให้ PHP ยอมให้อัพโหลดไฟล์ได้ขนาดแตกต่างจากนั้นเราสามารถกำหนดได้โดยกำหนด upload_max_filesize ใน PHP.ini ครับ แต่หาก server ไม่ใช่ของเราการกำหนดคงลำบาก แต่เราก็สามารถกำหนดเองได้ โดยการกำหนในไฟล์ .htaccess ครับ แต่ทั้งนี้ server ก็ต้องยอมให้เราใช้ไฟล์นี้ได้ด้วยครับ

ขั้นตอนการกำหนด คือ สร้างไฟล์นี้บนเครื่องของเรา เป็นไฟล์ text ธรรมดา แล้วใส่ข้อความในไฟล์ว่า php_value upload_max_filesize 20M โดยที่ 20M คือขนาดของไฟล์ที่ต้องการครับ แล้วให้เปลี่ยนชื่อไฟล์ให้เป็น .htaccess แล้วก็อัพโหลดขึ้นเว็บครับ เป็นอันเสร็จพิธี อ้อ ให้อัพโหลดไฟล์นี้ไปไว้ที่ไดเร็คทอรี่ที่เรียกใช้งานการ upload หรือ root ครับ

สำหรับไฟล์นี้เป็นไฟล์ระบบ เมื่อทำการอัพโหลดขึ้นเว็บแล้ว อาจมองไม่เห็นนะครับ ให้ระวังด้วย หากต้องการลบไฟล์นี้ ให้สร้างไฟล์ .htaccess เปล่าๆ แล้วอัพโหลดขึ้นเว็บ แล้วก็ลบทันทีครับ ถึงจะลบได้

หากต้องการดูค่าที่กำหนดไว้ทำได้โดยฟังก์ชั่นนี้ครับ

function get_upload_max_filesize () {
  $upload_max_filesize = ini_get("upload_max_filesize");
  if (eregi("([0-9]+)K", $upload_max_filesize, $tempregs)) $upload_max_filesize = $tempregs[1]*1024;
  if (eregi("([0-9]+)M", $upload_max_filesize, $tempregs)) $upload_max_filesize = $tempregs[1]*1024*1024;
  if (eregi("([0-9]+)G", $upload_max_filesize, $tempregs)) $upload_max_filesize = $tempregs[1]*1024*1024*1024;
  return $upload_max_filesize;
}

ค่าที่คืนกลับมาเป็น byte ครับ