PHP File Upload

Upload File trong PHP

Upload file là một chức năng quan trọng trong nhiều ứng dụng web. Nó cho phép người dùng tải lên tài liệu, hình ảnh và nhiều loại tập tin khác từ máy tính của họ đến máy chủ.

Cấu trúc HTML cho Upload File

Bạn cần một mẫu HTML với một thẻ form cho phép người dùng chọn file để tải lên. Mẫu này cần phải có thuộc tính enctype="multipart/form-data".

Chọn file để tải lên:

Code PHP để Xử Lý Upload

Khi người dùng gửi form, bạn cần xử lý file ở phía máy chủ. Dưới đây là một ví dụ đơn giản về cách thực hiện điều này trong file upload.php.

 500000) {
    echo "Xin lỗi, kích thước file quá lớn.";
    $uploadOk = 0;
}

// Chỉ cho phép các định dạng file nhất định
if($fileType != "jpg" && $fileType != "png" && $fileType != "jpeg" && $fileType != "gif" ) {
    echo "Xin lỗi, chỉ cho phép upload các file JPG, JPEG, PNG & GIF.";
    $uploadOk = 0;
}

// Kiểm tra nếu $uploadOk đã được đặt thành 0 do lỗi
if ($uploadOk == 0) {
    echo "Xin lỗi, file của bạn không được tải lên.";
// Nếu mọi thứ đều ổn, cố gắng tải file lên
} else {
    if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
        echo "File " . htmlspecialchars(basename($_FILES["fileToUpload"]["name"])) . " đã được tải lên.";
    } else {
        echo "Xin lỗi, đã xảy ra lỗi khi tải file của bạn lên.";
    }
}
?>

Giải thích Code

Trong mã PHP trên:

  • Chúng ta xác định thư mục đích để lưu trữ file tải lên.
  • Kiểm tra loại file và kích thước file trước khi thực hiện việc tải lên.
  • Sử dụng hàm move_uploaded_file để di chuyển file từ thư mục tạm thời đến thư mục đích.

Thư Mục và Quyền Truy Cập

Đảm bảo rằng thư mục uploads/ tồn tại và có quyền ghi (write) từ máy chủ để có thể lưu trữ các file tải lên.

Những Lưu Ý Quan Trọng

  • Luôn kiểm tra và xử lý dữ liệu đầu vào để tránh các lỗ hổng bảo mật.
  • Khi làm việc với file upload, hãy cẩn thận để không cho phép tải lên các file độc hại.

Hy vọng hướng dẫn này giúp ích cho bạn trong việc làm quen với việc upload file trong PHP!