Skip to main content
Codeigniter Upload File

CodeIgniter Basic Upload File With Database

ใบบทความนี้ เราจะมาแนะนำถึงการใช้งาน CodeIgniter ในส่วนของการ Upload  File ครับ ซึ่ง ตัว CodeIgniter  Framework ได้เตรียม ส่วนของการ Upload และ การตรวจสอบ ไฟล์  เช่น ขนาด รูปแบบ และ อื่น ๆ ไว้อยู่แล้ว เราจะมาทำการเรียกใช้งาน Class  Upload กันเลยดีกว่า

ก่อนอื่นเรามาสร้าง Folder สำหรับ เก็บ ไฟล์ที่เรา Upload กันก่อน

สร้าง Folder uploads เก็บไว้ที่  D:/xampp/htdocs/MyApp/uploads

create_folder_uploads

View

สร้าง view สำหรับ การ Upload File

สร้างไฟล์ upload_form.php ไว้ที่ D:/xampp/htdocs/MyApp/application/views/upload_form.php

เพิ่มเติม ในการ Upload File นั้น ในส่วนของ Form ต้องมีการระบุ

หากไม่ระบุ จะทำให้ไม่สามารถ Upload ได้ครับ หลายคน ติดปัญหา Upload ไม่ได้เพราะ ลืมใส่ส่วนนี้ (บางครั้งผู้เขียนเองก็ลืมเหมือนกันครับ 555)

ในส่วนของ $error คือ การแสดงผล Error ต่าง ๆ กรณีไม่สามารถ Upload File ได้ ครับ

สร้างไฟล์ upload_success.php ไว้ที่ C:/xampp/htdocs/MyApp/application/views/upload_success.php  สำหรับแสดงข้อมูลไฟล์ที่ Upload สำเร็จ

Controller Test

สร้างไฟล์ test.php  ไว้ที่ D:/xampp/htdocs/MyApp/application/controller/Test.php

ใน controller Test จะมี Function index เรียกใช้งาน view upload_form สำหรับการ Upload File  และ Function upload_file สำหรับ การรับข้อมูลจาก view และ ตรวจสอบความถูกต้องของไฟล์ หากไม่สามารถ Upload ได้ จะส่ง Error กลับไปที่ view upload_form แต่ กรณี Upload สำเร็จ จะ ส่งค่า $data ไปที่ upload_success

ทดสอบการทำงาน

ไปที่ http://localhost/myapp/index.php/test/index

upload_file

กรณีที่ ไม่ได้เลือกรูปภาพ หรือ ไม่สามารถ Upload ได้จะมี Error ดังภาพ

upload_error

กรณี Upload สำเร็จจะแสดงข้อมูลของไฟล์ ที่ Upload

upload_success

การประยุกต์ใช้งาน กับ ฐานข้อมูล MySQL

จากบทความก่อนหน้า เราได้แนะนำถึง การ เพิ่ม แก้ไข ลบ ข้อมูล กันไปแล้ว  ในบทความนี้ เราจะเพิ่มเติม การ บันทึกรูปภาพ โดยจะเก็บชื่อรูปภาพ ที่ Upload ลงใน ฐานข้อมูลด้วย

สร้าง database basic  และ สร้างตาราง customer

Customer Controller

แก้ไขไฟล์ Customer.php โดยเพิ่มส่วนของการ Upload ดังนี้

Views Customer

แก้ไข Views ไฟล์ customer_data.php เพิ่มส่วนของการแสดงรูปภาพ

แก้ไข Views ไฟล์ customer_add_form.php เพิ่ม input ส่วนของการ Upload ภาพ

แก้ไข Views ไฟล์ customer_edit_form.php เพิ่ม input ส่วนของการ Upload ภาพ

ทดสอบการทำงาน

http://localhost/MyApp/index.php/customer

image-6

สามารถ เพิ่ม และ แก้ไข รูปภาพ ได้ เมื่อมาดูที่ Database ก็จะมี ข้อมูลของรูปภาพที่เรา Upload ไว้

customer_database

 

Download SourceCode