ThaiSEOBoard.com

พัฒนาเว็บไซต์ => Programming => ข้อความที่เริ่มโดย: hacker ที่ 03 กรกฎาคม 2009, 17:08:34



หัวข้อ: enctype="multipart/form-data คืออะไรค่ะ
เริ่มหัวข้อโดย: hacker ที่ 03 กรกฎาคม 2009, 17:08:34
enctype="multipart/form-data


รูปแบบเต็ม
<form method="post" enctype="multipart/form-data">
<input name="op" type="hidden" value="AddProperty" />


หัวข้อ: Re: enctype="multipart/form-data คืออะไรค่ะ
เริ่มหัวข้อโดย: mr.sit ที่ 03 กรกฎาคม 2009, 17:35:18
ปกติฟอร์มส่งข้อมูล จะส่งข้อมูลประเภท text ได้อย่างเดียว

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

ชื่อก็บอกอยู่แล้วว่า multi :)


หัวข้อ: Re: enctype="multipart/form-data คืออะไรค่ะ
เริ่มหัวข้อโดย: hacker ที่ 03 กรกฎาคม 2009, 18:56:59
แล้วมันจะส่งค่าไปเก็บไว้ในฐานข้อมูลเลยหรือเปล่าค่ะถ้าไม่ แล้วไฟล์ที่ รับของ enctype="multipart/form-data  เขียนในรูปแบบใดค่ะ


หัวข้อ: Re: enctype="multipart/form-data คืออะไรค่ะ
เริ่มหัวข้อโดย: สเร็น ที่ 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


หัวข้อ: Re: enctype="multipart/form-data คืออะไรค่ะ
เริ่มหัวข้อโดย: thenetxx ที่ 08 กรกฎาคม 2009, 16:37:07
^__^ เข้ามาดู hacker งงเรื่อง encryption  :'(


หัวข้อ: Re: enctype="multipart/form-data คืออะไรค่ะ
เริ่มหัวข้อโดย: moonoi ที่ 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
----------------------------------------

ลืมไปหมด อาจจะผิดพลาดบ้างนะครับ


หัวข้อ: Re: enctype="multipart/form-data คืออะไรค่ะ
เริ่มหัวข้อโดย: ttong ที่ 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'];           // ประเภทของรูปที่รับมา

ผิดพลาดขออภัย


หัวข้อ: Re: enctype="multipart/form-data คืออะไรค่ะ
เริ่มหัวข้อโดย: Taew2011 ที่ 17 มิถุนายน 2012, 01:05:43
 :wanwan003: