Hướng dẫn dùng file p12 trong PHP
Trong Yii2 việc tải file lên từ người dùng sẽ được thực hiện bởi đối tượng UploadFile của Yii. Các file upload lên sẽ được gói gọn dưới dạng đôi tượng UploadFIle kết hợp với đối tượng Form cuả Yii các đồng dev có thể triển khai tải tệp tin lên một cách an toàn. Sử dụng với modelUpload 1 file đơn lẻTrong model, để tải tệp lên trước hết các đồng dev cần khai báo các rule cho tệp tin mình cần tải lên để xác thực tệp tin đúng theo yêu cầu. Ở đây tại hạ sẽ ví dụ triển khai UploadFIle trong model User như sau
Trong model User trên tại hạ đã khai báo cho cột avatar sẽ validate theo kiểu file và có phần mở rộng là png hoặc jpg, skipOnEmpty để bỏ qua không valid nếu giá trị trống, Rule File là luật được sử dụng từ yii \ validators \ FileValidator để đảm bảo tệp có tên mở rộng Các Tiếp theo tại hạ sẽ sử dụng Form trong create view của user để hiển thị giao diện upload cho người dùng như sau
Trong UserController tại hạ tạo 1 actionUpload như sau:
Trước đó nếu thư mục upload chưa có thì anh em đồng dev sẽ phải tạo và phân full quyền cho nó để có thể lưu ảnh upload lên. Như trên tại hạ sẽ phải tạo 1 folder là uploads cùng cấp với các thư mục của dự án Giao diện sẽ như sau, trông hơi cổ điển =)) Sau khi upload file sẽ xuất hiện trong thư mục uploads và lưu trữ cả trong cơ sở dữ liệu, để sử dụng file các đồng dev gọi đúng URL tới file đó là được Upload nhiều fileVậy là đã tại hạ đã giới thiệu xong phần upload 1 file đơn lẻ, nếu muốn upload nhiều file 1 lúc thì sao ? Để upload được nhiều file lên server 1 lúc, các đồng dev cần chú ý mục Với getInstance trong UploadFile thì chỉ sử dụng cho upload 1 file đơn lẻ thì để upload nhiều file các đồng dev chỉ cần thêm đúng 1 chữ 's' là getInstances Khi đó controller sẽ chuyển lại như sau
Trong model User set thêm rule maxFiles
Ở view Create của User
Hiển thị với người dùng Và kết quả là sẽ có thêm 3 file mới Ok, Vậy là tại hạ đã demo xong cơ bản về UploadFIle trong Yii2 . Đối với việc upload multi file này thì thường áp dụng cho việc upload các hình ảnh liên quan hay album của sản phẩm ..... Tổng kếtUpload File trong các ứng dụng web rất là phổ biến và việc sử dụng upload file do các framework nói chung hay Yii2 nói riêng là điều cần thiết trong quá trình phát triển ứng dụng. Nhưng các anh em đồng dev cần lưu ý việc để người dùng upload như nào cho an toàn với hệ thống, Yii2 cung cấp khá nhiều các Rule cho việc upload File để làm tăng việc an toàn khi file được upload lên server. Để tham khảo thêm các đồng dev có thể xem qua tại đây. |