มาอัพซักหน่อย ไม่ได้อัพนานแล้วบล๊อกเน่า ฮ่าๆ วันนี้ผมจะมาพูดถึงเกี่ยวกับเรื่องการ upload ผ่าน form ที่เราๆท่านๆรู้จักกันดี แต่ในตอนแรก apache ของเรานั้นจะกำหนดมาให้ตั้งแต่แรกคือ 2 mb ซึ่งมันน้อยนิดยิ่งกว่า ตื้ด .. มด โดยปกติแล้วถ้าเราเป็นเจ้าของ server เองเราคงทำการแก้ไขในไฟล์ php.ini ได้แต่คราวนี้ถ้าเราแก้ไขไม่ได้ล่ะ ไม่ต้องกลัวเรามีพระเอกคือ .htaccess ตัวนี้นี่เอง !!โดยตัวไฟล์ .htaccess เนี้ยสามารถกำหนดขนาดไฟล์ที่เราจะให้ user อัพโหลด โดยแม้ว่าเราไม่สามารถเข้าไปแก้ไขไฟล์ php.ini ได้เอง ก็ยังสามารถทำวิธีนี้ได้ครับ แต่ต้องให้ทางเขาแก้ไขไฟล์ httpd.conf โดยใส่ AllowOverride Options
หรือ AllowOverride All ไม่ก็งั้นก็จบเอวังไม่้ต้องแก้กันเลย
( ออกตัวก่อนว่าลองใน localhost นะครับถ้าผิดพลาดประการใดรบกวนแจ้งไว้ด้วย ) โดยเราสร้างไฟล์ .htaccess มาแล้วใส่ค่าดังนี้ครับ
[php]
php_value upload_max_filesize 10M
php_value post_max_size 10M
php_value max_execution_time 800
php_value max_input_time 100
[/php]
- upload_max_filesize ขนาดสูงสุดของไฟล์ สามารถใส่เป็นหน่วย byte หรือว่าใ่ส่ 10M ก็ได้
- post_max_size ค่าสูงสุดที่จะส่งแบบ post สามารถใส่เป็นหน่วย byte หรือว่าใ่ส่ 10M ก็ได้
- max_execution_time เวลาในการประมวลผล script php ก็อย่าเยอะมากลองปรับๆดูครับ
- max_input_time คล้ายกับ max_exeution_time
ก็สามาถร upload ได้เกิน 2mb แล้ว ง่ายจัง เย้ \o/ ซะ..ซะเมื่อไหร่กันเล่า ด้วยความที่ว่า Admin ดันเป็นคนฉลาด ( น้อย ) จึงคิดว่าถ้าเราต้องการ upload ไฟล์ใหญ่ มากๆ ซัก 20 GB !! OMG !! เราก็ควรจะปรับแบบนี้
[php]
<pre>
php_value upload_max_filesize 20G
php_value post_max_size 20G
php_value max_execution_time 5000
php_value max_input_time 5000</pre>
[/php]
ผลลัพธ์ … เจ๊งสิครับ มันกลับมาเป็นเหมือนเดิมคือ ได้ลองอัพไฟล์ซัก 5GB ก็จบไม่ต้องถามต่อเลย แล้วผมก็ติดปัญหานี้ว่าทำอย่างไรจะอัพได้มากๆ อย่างน้อยที่สุดเอาซัก 2GB ก็ยังดีก็ยังดันทุลังไปปรับเป็น
[php]
<pre>
php_value upload_max_filesize 2G
php_value post_max_size 2G
php_value max_execution_time 5000
php_value max_input_time 5000</pre>
[/php]
แล้วไง … เหมือนเดิมครับ สุดท้ายมาตกม้าตายที่ว่า เราต้องปรับเป็นหน่วย byte ครับ ซึ่งในที่นี้ก็จะได้เป็น
[php]
<pre>
php_value upload_max_filesize 2147483648
php_value post_max_size 2147483648
php_value max_execution_time 5000
php_value max_input_time 5000</pre>
[/php]
เนี้ยแหละครับก็สามารถอัพโหลดไฟล์ใหญ่ๆได้ แต่ได้ไม่เกิน 2 GB นะจ๊ะอันนี้สุดๆแหละส่วนจะทำให้เกินอย่างที่ youtube หรือเจ้าใหญ่ๆทำนั้นมันมีวิธีไว้คราวหน้าจะมาเล่าให้ฟังเน้อ วันนี้จบแค่นี้จ้า
ถ้าคุณชอบบทความในเว็บนี้ และอยากสนับสนุนเรา เพียงแค่คุณสมัครรับข่าวสารด้านล่างจะได้รับสิทธิ์พิเศษก่อนใคร เราสัญญาว่าจะส่งบทความที่เป็นประโยชน์ต่อคุณอย่างแน่นอนครับ
ขอบคุณครับ แต่ว่าจะอัพโหลดอะไรมากมายขนาดนี้
แจก FTP ไปโลด