Tải lên tệp là một nhiệm vụ phổ biến cho các ứng dụng web. Các loại tệp khác nhau được yêu cầu tải lên dựa trên ứng dụng. Tệp hình ảnh, tệp văn bản, tệp pdf, tệp XML, v.v. có thể được tải lên bằng cách sử dụng tập lệnh PHP. Một hoặc nhiều tệp có thể được tải lên bằng PHP. Có một số chỉ thị PHP trong php. ini và các hàm tích hợp PHP liên quan đến tải lên tệp được thảo luận trong hướng dẫn này. HTML có một thuộc tính cụ thể trong thẻ biểu mẫu cho các tác vụ tải tệp lên, đó là enctype
Chỉ thị PHP để tải lên tệp
Mục đích của Chỉ thị PHP file_uploads Giá trị của chỉ thị này phải là Bật để tải tệp lên bằng cách sử dụng tập lệnh PHP. Giá trị mặc định của lệnh này là Bật. upload_tmp_dirNó được sử dụng để đặt thư mục tạm thời nơi tệp sẽ được tải lên. upload_max_filesizeĐược sử dụng để đặt kích thước tối đa của tệp có thể được tải lên. max_file_uploads Nó được sử dụng để đặt số lượng tệp có thể được tải lên. post_max_sizeNó được sử dụng để đặt kích thước tối đa của dữ liệu POST và giá trị của lệnh này phải lớn hơn giá trị của lệnh upload_max_filesize vì tệp được tải lên theo yêu cầu POST. max_input_timeĐược sử dụng để đặt lượng thời gian tối đa để đọc dữ liệu của tệp tải lên. max_execution_timeĐược sử dụng để đặt lượng thời gian tối đa tính bằng giây để thực thi tập lệnh tải tệp lên. memory_limitNó được sử dụng để đặt kích thước bộ nhớ tối đa cần thiết để thực thi tập lệnh PHP để tải tệp lênCác hàm PHP để tải lên tệp
Hai chức năng tích hợp chủ yếu được sử dụng trong PHP để tải lên tệp được đề cập bên dưới
A. is_uploaded_file[]
Được sử dụng để kiểm tra xem tệp có được tải lên qua HTTP POST hay không, giúp ngăn chặn cuộc tấn công từ người dùng độc hại.
B. move_uploaded_file[]
Được sử dụng để di chuyển tệp đã tải lên vào vị trí máy chủ web. Hàm này sẽ trả về giá trị true nếu tệp được tải lên và di chuyển thành công.
Biến tải lên tệp PHP
Biến mảng $_FILES lưu trữ tất cả thông tin liên quan đến việc tải tệp lên máy chủ. Nó là một biến siêu toàn cầu của PHP có thể truy cập được ở bất kỳ đâu từ tập lệnh. Nó chứa năm loại thông tin. tên tệp, loại, kích thước, tên tệp tạm thời và các lỗi liên quan đến việc tải tệp lên. Mục đích của từng giá trị của mảng $_FILE đã được đề cập bên dưới. Giả sử tên của tên trường tải lên là 'tải lên' ở đây
A. $_FILES[‘upload’][‘name’]
Được sử dụng để lấy tên tệp gốc đã được tải lên bởi máy tính của khách hàng.
B. $_FILES[‘upload’][‘tmp_name’]
Được sử dụng để lấy tên tệp tạm thời đã được lưu trữ tạm thời trong máy chủ.
C. $_FILES[‘upload’][‘type’]
Được sử dụng để lấy loại mime của tệp đã tải lên.
D. $_FILES[‘upload’][‘size’]
Được sử dụng để lấy kích thước của tệp được tải lên theo byte.
E. $_FILES[‘upload’][‘error’]
Được sử dụng để lấy mã lỗi liên quan đến tác vụ tải lên. Biến có thể chứa bất kỳ loại nào trong số 7 loại giá trị được đề cập bên dưới.
Tải lên tệp bằng PHP
Các ví dụ khác nhau về cách tải tệp lên bằng cách sử dụng tập lệnh PHP đã được trình bày trong phần này của hướng dẫn
ví dụ 1. Tải lên bất kỳ loại tệp nào
Bạn có thể tải tệp lên ở vị trí hiện tại từ nơi tập lệnh PHP đang thực thi hoặc trong một thư mục cụ thể. Bạn phải tạo thư mục ở vị trí máy chủ để tải tệp lên trong một thư mục cụ thể trước khi thực thi tập lệnh PHP. Tôi đã tạo một thư mục có tên 'tải lên' bên trong thư mục làm việc. Tạo tệp PHP với tập lệnh sau sẽ tải lên tệp thuộc bất kỳ loại nào trong thư mục 'tải lên'. Biểu mẫu HTML có trường loại tệp và nút gửi đã được sử dụng trong tập lệnh để chọn tệp từ máy tính của khách hàng để tải lên. Nếu 1 được tạo dưới dạng mã lỗi sau khi tải tệp lên, thì tệp đã được tải lên thành công. Tiếp theo, hàm move_upload_file[] đã được sử dụng để di chuyển tệp đã tải lên đến vị trí máy chủ. Thông báo thành công sẽ được in nếu tệp được tải lên vị trí máy chủ thành công;
-- Hiển thị biểu mẫu tải lên -- >
Uploading file using PHP
Select File: