ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingenctype="multipart/form-data คืออะไรค่ะ
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: enctype="multipart/form-data คืออะไรค่ะ  (อ่าน 10003 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
hacker
Newbie
*

พลังน้ำใจ: 8
ออฟไลน์ ออฟไลน์

กระทู้: 38



ดูรายละเอียด เว็บไซต์
« เมื่อ: 03 กรกฎาคม 2009, 17:08:34 »

enctype="multipart/form-data


รูปแบบเต็ม
<form method="post" enctype="multipart/form-data">
<input name="op" type="hidden" value="AddProperty" />
บันทึกการเข้า

kohphanganbooking.com
mr.sit
สมุนแก๊งเสียว
*

พลังน้ำใจ: 20
ออฟไลน์ ออฟไลน์

กระทู้: 617



ดูรายละเอียด
« ตอบ #1 เมื่อ: 03 กรกฎาคม 2009, 17:35:18 »

ปกติฟอร์มส่งข้อมูล จะส่งข้อมูลประเภท text ได้อย่างเดียว

การระบุ enctype="multipart/form-data" เป็นการอนุญาตให้ฟอร์มส่งข้อมูลได้หลายประเภทพร้อมกัน เช่น ข้อความและรูปภาพ (อัพโหลดรูป)

ชื่อก็บอกอยู่แล้วว่า multi Smiley
บันทึกการเข้า
hacker
Newbie
*

พลังน้ำใจ: 8
ออฟไลน์ ออฟไลน์

กระทู้: 38



ดูรายละเอียด เว็บไซต์
« ตอบ #2 เมื่อ: 03 กรกฎาคม 2009, 18:56:59 »

แล้วมันจะส่งค่าไปเก็บไว้ในฐานข้อมูลเลยหรือเปล่าค่ะถ้าไม่ แล้วไฟล์ที่ รับของ enctype="multipart/form-data  เขียนในรูปแบบใดค่ะ
บันทึกการเข้า

kohphanganbooking.com
สเร็น
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 97
ออฟไลน์ ออฟไลน์

กระทู้: 1,612



ดูรายละเอียด
« ตอบ #3 เมื่อ: 03 กรกฎาคม 2009, 20:09:41 »

การอัพโหลดไฟล์ ไปยัง server ด้วย php
สิ่งที่ต้องดู อย่าง แรก คือ ดู ว่า server ที่เราใช้ อยู่ อนุญาติ ให้ อัพโหลดไฟล์ได้หรอืเปล่า
ด้วย phpinfo() ;
หาข้อความ On อยู่ ก็ ok ครับ upload ได้
ต่อ ไป ดู ต่อว่า จะ upload ได้ขนาด สูงสุดเท่าไร
หาข้อความ upload_max_filesize **M คือ ขนาดไฟล์ ที่เราสามารถ upload ได้


function ที่ใช้ในการ Upload file
1.copy()
2.move_uploaded_file()
ทั้ง 2 function นี้ใช้ ในการ อัพโหลดไฟล์ ขึ้น server ได้เหมือน กัน
การให้ function ทั้ง 2 อันนี้คือ เรา ต้องไป ก๊อบปี้ ไฟล์ จาก tmp ของ server มาไว้ ใน foder ของเรา ตาต้องการ ดัง นั้น parameter ของทั้ง 2 function นี้ คือ
bool copy ( string source, string dest ) copy ไฟล์ ไปยังตำแหน่งที่ต้องการ จะคือ ค่าจริง ถ้า ทำสำเร็จ
bool move_uploaded_file ( string filename, string destination ) copy ไฟล์ ไปยังตำแหน่งที่ต้องการ โดย จะเช็ค ว่า ไฟล์ ที่ต้องการ copy นั้นเป็นไฟล์ที่ อัพโหลด ด้วย HTTP POST ขึ้นมาหรือไม่
ถ้าเราเลือกใช้ function copy ให้ ได้ ไฟล์ ที่ เรา upload จริงๆ ต้อง ทำดังนี้


--------------------------------------------------------------------------------


if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
copy($_FILES['userfile']['tmp_name'], "/place/to/put/uploaded/file");
}
ถ้า ใช้ move_upload_file() ก็
move_uploaded_file($_FILES['userfile']['tmp_name'], "/place/to/put/uploaded/file");


คงจะเห็นความแตกต่าง และเลือกใช้ ให้เหมาะ สมนะครับ



เครดิต mindphp.com
บันทึกการเข้า
thenetxx
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 41
ออฟไลน์ ออฟไลน์

กระทู้: 1,986



ดูรายละเอียด เว็บไซต์
« ตอบ #4 เมื่อ: 08 กรกฎาคม 2009, 16:37:07 »

^__^ เข้ามาดู hacker งงเรื่อง encryption  Cry
บันทึกการเข้า

Develop site but can't develop life
ASIA
moonoi
สมุนแก๊งเสียว
*

พลังน้ำใจ: 14
ออฟไลน์ ออฟไลน์

กระทู้: 771



ดูรายละเอียด
« ตอบ #5 เมื่อ: 08 กรกฎาคม 2009, 16:45:19 »

urlencoded ลองนึกถึง GET Method ครับ
จะส่งข้อมูลแบบนั้นเลยครับ แค่อยู่ในรูปแบบ POST Method
เช่น a=1&b=1&.....
จึงไม่รองรับการส่งไฟล์ผ่านรูปแบบนี้ครับ (นึกถึงเนื้อหาในไฟล์ที่จะส่ง)

multipart จะเป็นการแบ่งข้อมูลเป็นส่วนๆครับ
เช่น
----------------------------------------
name=a
1
----------------------------------------
name=myfile.txt
size=514
CONTENT HERE
----------------------------------------

ลืมไปหมด อาจจะผิดพลาดบ้างนะครับ
บันทึกการเข้า
ttong
สมุนแก๊งเสียว
*

พลังน้ำใจ: 33
ออฟไลน์ ออฟไลน์

กระทู้: 633



ดูรายละเอียด
« ตอบ #6 เมื่อ: 09 กรกฎาคม 2009, 18:25:53 »

แล้วมันจะส่งค่าไปเก็บไว้ในฐานข้อมูลเลยหรือเปล่าค่ะถ้าไม่ แล้วไฟล์ที่ รับของ enctype="multipart/form-data  เขียนในรูปแบบใดค่ะ

มันจะไม่เก็บลงในฐานข้อมูลเลยครับ

แต่มันจะเก็บใน temp ชั่วคราวก่อน

แล้วเราก็ใช้ $_FILE รับค่าต่างๆ มา เพื่อนำมาบันทึกลงใน folder หรือ database อีกที

$attach=$_FILES['image']['tmp_name'];          // ที่ที่รูปถูกเก็บไว้
$attach_name=$_FILES['image']['name'];        // ชื่อของรูปที่รับมา
$attach_size=$_FILES['image']['size'];            // ขนาดของรูปที่รับมา
$attach_type=$_FILES['image']['type'];           // ประเภทของรูปที่รับมา

ผิดพลาดขออภัย
บันทึกการเข้า

Taew2011
คนรักเสียว
*

พลังน้ำใจ: 7
ออฟไลน์ ออฟไลน์

กระทู้: 107



ดูรายละเอียด
« ตอบ #7 เมื่อ: 17 มิถุนายน 2012, 01:05:43 »

 wanwan003
บันทึกการเข้า
หน้า: [1]   ขึ้นบน
พิมพ์