Upload tập tin trong CodeIgniter

Đối với bất kỳ website nào cũng đều cần có chức năng upload file lên server. Trong CodeIgniter hỗ trợ cho chúng ta 1 thư viện upload giúp cho việc tải file lên server 1 cách dễ dàng, ngoài ra thư viện này còn có rất nhiều cấu hình và những lợi ích khác mang lại, chúng ta hãy cùng dần tìm hiểu về nó nhé.

Những tác dụng cơ bản mà thư viện này mang lại:

  • Giúp chúng ta có thể upload các file lên server 1 cách đơn giản.
  • Hỗ trợ định dạng file được chỉ định khi tải lên
  • Tùy chỉnh độ rộng & cao tấm hình đc phép upload một cách dễ dàng.
  • Giới hạn dung lượng file hình ảnh được tải lên.
  • Hỗ trợ chúng ta resize ảnh theo nhu cầu.
  • Đóng dấu bản quyền watermark với định dạng text hoặc chèn logo tấm hình.

Thông tin cấu hình

– Cũng như các thư viện khác trong CodeIgniter, để sử dụng thư viện nào đó trước tiên chúng ta cần load thư viện đó ra:

Các thông số cấu hình khi thực hiện tải file:

+ Thư mục chứa file:

+ Định dạng file cho phép được tải lên:

+ Dung lượng tối đa (tính theo KB):

+ Chiều rộng tối đa (tính theo pixels):

+ Chiều cao tối đa (tính theo pixels):

Ví dụ:

Các phương thức Upload

+ Phương thức do_upload dùng để thực thi việc upload, nếu không upload được thì phương thức này trả về false, và tham số của nó chính là tên thẻ input dùng để upload

Cú pháp:

Ví dụ:

+ Phương thức display_errors dùng để hiển thị ra các lỗi trong quá trình upload file lên server.

Cú pháp:

Ví dụ:

+ Phương thức data sẽ lưu 1 mảng dữ liệu chứa thông tin của file upload thành công lên server.

Cú pháp:

Vi dụ:

Ví dụ:

Upload 1 file ảnh lên server, thư mục chứa file ảnh là public/upload/slider, dung lượng tối đa là 500KB, chiều rộng và chiều cao tối đa cho file ảnh tải lên là 1024px.

– Chúng ta xây dựng form upload trong view như sau (views/upload/index.php):

Và chúng ta sẽ có 1 form như sau:

Form upload file

+ Các bạn thấy có 1 chú ý trong form upload file, đó chính là thuộc tính enctype=”multipart/form-data”, nếu những form mà bạn thực hiện tải file thì bắt buộc trong form phải có thêm thuộc tính này nhé.

+ Thẻ input để cho phép chúng ta có thể lựa chọn file để tải lên phải có kiểu là file

– Chúng ta tạo file controller có tên upload.php với nội dung sau:

Và kết quả sau khi đã tải file ảnh thành công:

Trong đó ý nghĩa các tham số quan trọng là:

+ file_name : Tên file tải lên, các bạn có thể lưu tên file này vào csdl

+ file_type: kiểu file

+ file_path: Đường dẫn chứa file

+ full_path: Đường dẫn tuyệt đối chứa file

Ngoài ra còn các thông số, tên, phần mở rộng, chiều rộng, chiều cao…

Học Codeignter