วันพุธที่ 30 มีนาคม พ.ศ. 2554

ฟังก์ชัน move_uploaded_file()

move_uploaded_file(ไฟล์ที่จะย้าย, ปลายทางที่เก็บไฟล์)

การอัพโหลดไฟล์ต้องวางอินพุตอัพโหลดไฟล์ดังนี้

<form>
     <input type="file" name="image" id="image" />
     <input id="submit" name="sunmit" type="submit" value="submit"/>
 </form>

ตัวแปร $_FILE

- เป็นตัวแปรชนิดอาร์เรย์แบบ Key/Value ใช้ในการจัดการข้อมูลที่ถูกโหลดมาในเซิร์ฟเวอร์ ได้แก่

  $_FILE['image']['type']    แทนชนิดของไฟล์ที่อัพโหลด เช่น .jpg
  $_FILE['image']['size']    แทนขนาดของไฟล์
  $_FILE['image']['tmp_name']   แทนตำแหน่งไดเรกทอรีที่เก็บไฟล์ไว้ชั่วคราว
  $_FILE['image']['name']    แทนชื่อไฟล์ที่อัพโหลด
  $_FILE['image']['error']    แทนข้อมูลที่ผิดพลาดจากการอัพโหลด โดยมีการคืนค่าดังนี้
                                         คืนค่า 0 แสดงว่าไม่มีข้อผิดพลาด
                                         คืนค่า 1 ไฟล์ที่อัพโหลดมีขนาดเกินกว่าค่าที่กำหนดใน php.ini  ปกติ2 MB
                                         คืนค่า 2 ไฟล์มีขนาดเกินค่าที่กำหนดใน MAX_FILE_SIZE ของฟอร์ม
                                         คืนค่า 3 ข้อผิดพลาดในการสื่อสารทำให้อัพโหลดไฟล์ไม่ได้
                                         คืนค่า 4 ไม่มีไฟล์
//image คือ ชื่ออินพุตของไฟล์ในฟอร์มที่ใช้อัพโหลด

move_uploaded_file() ใช้ในการเคลื่อนย้ายไฟล์จากไดเรกทอรี่ชั่วคราวไปยังตำแหน่งใหม่ซึ่งเราจะใช้ $_FILE['image']['tmp_name'] ในการอ้างถึงไดเรกทอรี่ชั่วคราว

ส่วนตำแหน่งไดเรกทอรี่ปลายทางถ้าต้องการใช้ชื่อเดิมจะใช้
$_FILE['image']['name']

ถ้าต้องการย้ายไปไดเรกทอรี่อื่นจะใช้

$fileName = mktime(date('H'), date('i'), date('s'),date('m'), date('d'), date('Y')).'.jpg'; 
//ตั้งชื่อให้กับภาพเพื่อจัดเก็บลงในฐานข้อมูล
 move_uploaded_file($_FILE['image']['tmp_name'], '../image/news/'.$fileName);


ไม่มีความคิดเห็น:

แสดงความคิดเห็น