Đây là chức năng giúp chúng ta có thể gửi file lên server đó là file ảnh hoặc các loại tập tin.
Cấu hình: Tìm vào file php.ini bật trạng thái upload file
file_uploads = On
FORM HTML UPLOAD FILE
Chú ý:
- Chỉ hỗ trợ form có phương thức truyền dữ liệu POST
- Khai báo thuộc tính enctype="multipart/form-data" cho From
XỬ LÝ UPLOAD FORM
- Dữ liệu file upload được đẩy vào mảng hệ thống $_FILES
- Kiểm tra dữ liệu hợp lệ của file upload: Loại file, dung lượng,...
Hàm hỗ trợ
- Lấy tên file
- Lấy đuôi mở rộng file
Bước 1: Tạo đường dẫn chứa file upload
Ta có đường dẫn file sau khi upload
Bước 2: Kiểm tra file trước khi upload
- Kiểm tra đuổi mở rộng[upload ảnh có đuổi png, jpg, jpeg, gif]
- Kiểm tra kích thước file
Bước 3: Chuyển file từ thư mục tạm lên server
if [empty[$error]] {
if [move_uploaded_file[$_FILES["fileUpload"]["tmp_name"], $target_file]] {
echo "Bạn đã upload file thành công";
$flag = true;
} else {
echo "File bạn vừa upload gặp sự cố";
}
}
CODE UPLOAD FILE ĐẦY ĐỦ
if [$_SERVER['REQUEST_METHOD'] == "POST"] {
//Bước 1: Tạo thư mục lưu file
$error = array[];
$target_dir = "uploads/";
$target_file = $target_dir . basename[$_FILES['fileUpload']['name']];
// Kiểm tra kiểu file hợp lệ
$type_file = pathinfo[$_FILES['fileUpload']['name'], PATHINFO_EXTENSION];
$type_fileAllow = array['png', 'jpg', 'jpeg', 'gif'];
if [!in_array[strtolower[$type_file], $type_fileAllow]] {
$error['fileUpload'] = "File bạn vừa chọn hệ thống không hỗ trợ, bạn vui lòng chọn hình ảnh";
}
//Kiểm tra kích thước file
$size_file = $_FILES['fileUpload']['size'];
if [$size_file > 5242880] {
$error['fileUpload'] = "File bạn chọn không được quá 5MB";
}
// Kiểm tra file đã tồn tại trê hệ thống
if [file_exists[$target_file]] {
$error['fileUpload'] = "File bạn chọn đã tồn tại trên hệ thống";
}
//
if [empty[$error]] {
if [move_uploaded_file[$_FILES["fileUpload"]["tmp_name"], $target_file]] {
echo "Bạn đã upload file thành công";
$flag = true;
} else {
echo "File bạn vừa upload gặp sự cố";
}
}
}
?>
Bước 3: Tiếp theo sẽ tạo một file là xuly.php