Chào mừng các bạn đã trở lại với Series Học PHP và MySQL từ cơ bản đến nâng cao. Bài học hôm nay chúng ta sẽ cùng tìm hiểu về Kỹ thuật Upload file  trong PHP.

Để upload được file, chúng ta cần thêm thuộc tính enctype=”multipart/form data” cho form, ta dùng thẻ input type=”file” để upload file.

Tạo file form.php với nội dung như sau:

Sau khi tạo form chúng ta tạo thêm 1 file có tên là xuly_file.php để xử lý form chúng ta vừa tạo. (Thuộc tính “action” xem lại bài về Form).

  • Tiếp theo ta sẽ kiểm tra xem người dùng đã nhấn nút submit hay chưa bằng cách kiểm tra sự tồn tại của biến $_POST[‘ok’], nếu người dùng đã nhấn submit rồi thì tiến hành kiểm tra xem họ đã chọn file hay chưa, nếu chưa chọn file thì báo lỗi.

Ta có thể lấy được tên file, kiểu file , cỡ file thông qua các biến :
File name : $_FILES[‘file’][‘name’];
File type : $_FILES[‘file’][‘type’];
File size : $_FILES[‘file’][‘size’];

Khi người dùng đã chọn file thì tiến hành upload tùy theo yêu cầu của bài toán mà chúng ta tiến hành xây dựng chức năng cho nó, ví dụ yêu cầu đặt ra ở đây là chỉ được upload các file ảnh có kiểu file là jpg , png , gif và cỡ file không được lớn hơn 1MB.
Chúng ta tiến hành kiểm tra  kiểu file xem có phù hợp hay không, nếu là file ảnh thì tiến hành kiểm tra xem cỡ file có phù hợp hay không và ngược lại thì báo lỗi file chọn không phải file ảnh.

Bước cuối cùng là xem file vừa chọn cỡ có nhỏ hơn 1mb không, file size ở đây được tính theo byte (1MB = 1*1024 kb * 1024 bytes) . Nếu cỡ file nhỏ hơn 1MB tiến hành upload file bằng hàm move_uploaded_file, file upload sẽ được lưu trong thư mục upload (Bạn tạo 1 thư mục có tên là upload cùng cấp với file xử lý).

Sau khi Upload xong bạn vào thư mục Upload nếu thấy có ảnh thì đã thành công.

Kết quả sau khi Upload file.

Download Sourse tại đây.

Bài tiếp theo “SESSION và COOKIE trong PHP”.