Kiểm tra xem tệp đã tải lên php
Nếu bạn chỉ muốn mã nguồn - hãy cuộn xuống cuối trang hoặc nhấp vào. Nhưng tôi khuyên bạn nên đọc bài báo để hiểu tại sao tôi lại làm những việc như tôi đang làm và nó hoạt động như thế nào Show
Này các cậu, trong bài đăng này, tôi sẽ chỉ cho bạn cách tải tệp lên máy chủ của bạn bằng HTML và PHP và xác thực tệp. Tôi hy vọng nó hữu ích cho một số bạn và bây giờ chúc bạn viết mã vui vẻ. ) Thông tin an ninhĐầu tiên, điều quan trọng nhất mà tôi muốn nói với bạn, biến 1 trong PHP (ngoại trừ 2) có thể được sửa đổi. Điều đó có nghĩa là, không kiểm tra e. g. kích thước tệp bằng 3, bởi vì điều này có thể được sửa đổi bởi người tải lên trong trường hợp bị tấn công. Nói cách khác, khi bạn xác thực tải lên bằng phương pháp này, kẻ tấn công có thể giả vờ rằng tệp của họ có kích thước hoặc loại tệp khácNhư bạn có thể thấy, có rất nhiều thứ chúng ta cần quan tâm. Có lẽ nên cân nhắc sử dụng một dịch vụ đã có sẵn. Với Uploadcare, bạn có thể tải lên và quản lý tệp nhanh chóng và dễ dàng thông qua tích hợp PHP của chúng Vì vậy, hãy tiếp tục và tạo tệp tải lên an toàn của riêng chúng tôi Thiết lập HTMLTrước khi PHP có thể xử lý các tệp, chúng tôi gửi chúng tới PHP bằng biểu mẫu HTML cơ bản
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình Đó là nó. Lưu ý 4, đó là tập lệnh PHP xử lý tải lên. Và chúng tôi sử dụng tên 5 để xác định tệp trong PHPXác thực PHPBây giờ, hãy xác thực tệp trong tệp 6Trước hết, chúng tôi phải kiểm tra xem có tệp nào được chuyển đến tập lệnh của chúng tôi không. Chúng tôi làm điều này bằng cách sử dụng biến 1
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình Nhưng hãy nhớ rằng, vì lý do bảo mật, chúng tôi không thể lấy kích thước tệp bằng cách sử dụng 1. Khi người dùng tải tệp lên, PHP sẽ lưu tệp tạm thời và bạn có thể lấy đường dẫn bằng cách sử dụng 9. Đó là những gì chúng tôi sử dụng bây giờ để có được kích thước thực và loại tệp
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình Bây giờ chúng tôi có thông tin thực, hãy xác thực kích thước tệp. Chúng tôi không muốn cho phép người dùng tải lên các tệp trống, vì vậy trước tiên, chúng tôi kiểm tra xem kích thước tệp có lớn hơn 0 không
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình Và nếu bất kỳ ai cũng có thể tải tệp lên, bạn có thể muốn đặt giới hạn về độ lớn của tệp
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình Tuyệt vời. Nhưng bạn thường chỉ cho phép tải lên các loại cụ thể, e. g. 0 hoặc 1 cho ảnh hồ sơ. Để linh hoạt hơn, hãy tạo một mảng với tất cả các loại tệp được phép(Cảm ơn Gary Marriott và Renorram Brandão đã chỉ ra cho tôi, chúng tôi phải lưu trữ các phần mở rộng cho từng loại ở đây trong mảng để sau này chúng tôi có thể nối nó vào tên tệp)
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình Bạn có thể tìm thấy danh sách các Loại MIME tại đây (Nó bằng tiếng Đức, nhưng có một bảng tuyệt vời với tất cả các Loại MIME và phần mở rộng tệp) Bây giờ hãy kiểm tra xem loại tệp có được phép không
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình Và chúng tôi đã hoàn thành việc xác thực. Ở bước cuối cùng, chúng tôi di chuyển tệp vào thư mục tải lên của chúng tôi (hoặc bất cứ nơi nào bạn muốn). Đối với điều này, tôi xác định một biến với thư mục đích của mình, sau đó lấy tên tệp và phần mở rộng hiện tại và tạo đường dẫn tệp đích mới
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình Cuối cùng, di chuyển tập tin
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình Đó là nó. Bây giờ bạn có một tệp tải lên an toàn, nơi bạn có thể xác định nghiêm ngặt tệp nào có thể tải lên và tệp nào không Làm cách nào để kiểm tra xem một tệp có được tải lên trong PHP không?Hàm is_uploaded_file() trong PHP là một hàm sẵn có dùng để kiểm tra xem tệp đã chỉ định có được tải lên qua HTTP POST hay không. Tên của tệp được gửi dưới dạng tham số cho hàm is_uploaded_file() và trả về True nếu tệp được tải lên qua HTTP POST.
Làm cách nào để kiểm tra xem tệp đã tải lên có phải là PDF trong PHP không?Bạn có thể kiểm tra loại MIME của tệp bằng Hàm thông tin tệp của PHP . Nếu nó trả về với loại 'application/pdf' thì nó phải là PDF. Các hàm thông tin tệp đã được thêm vào trong PHP 5. 3 nhưng trước đó bạn có thể sử dụng hàm mime_content_type.
Làm cách nào để kiểm tra xem tệp tải lên có trống trong PHP không?Bạn có thể kiểm tra xem có giá trị hay không và hình ảnh có hợp lệ hay không bằng cách thực hiện như sau. if(trống($_FILES['cover_image']['tmp_name']). . . Mã lỗi "4" có thể được trả về nếu không có tệp nào được tải lên. . tôi sử dụng nó như. if ($_FILES['cover_image']['name'] == true){. } Cái nào kiểm tra xem tệp có được tải lên qua HTTP POST không?Hàm is_uploaded_file() kiểm tra xem tệp đã chỉ định có được tải lên qua HTTP POST hay không. |