Việc sử dụng các tệp $ _ trong PHP là gì?

Ghi chú. Bạn sẽ cần tạo một thư mục mới có tên "tải lên" trong thư mục chứa "tải lên. php" cư trú. Các tệp đã tải lên sẽ được lưu ở đó


Kiểm tra xem tệp đã tồn tại chưa

Bây giờ chúng ta có thể thêm một số hạn chế

Đầu tiên, chúng tôi sẽ kiểm tra xem tệp đã tồn tại trong thư mục "tải lên" chưa. Nếu có, thông báo lỗi sẽ hiển thị và $uploadOk được đặt thành 0

// Kiểm tra xem file đã tồn tại chưa
if (file_exists($target_file)) {
echo "Xin lỗi, tập tin đã tồn tại. “;
$uploadOk = 0;
}


Kích thước tệp giới hạn

Trường nhập tệp trong biểu mẫu HTML của chúng tôi ở trên được đặt tên là "fileToUpload"

Bây giờ, chúng tôi muốn kiểm tra kích thước của tệp. Nếu tệp lớn hơn 500KB, thông báo lỗi sẽ hiển thị và $uploadOk được đặt thành 0

// Kiểm tra dung lượng file
if ($_FILES["fileToUpload"]["size"] > 500000) {
echo "Xin lỗi, tệp của bạn quá lớn. “;
$uploadOk = 0;
}


Loại tệp giới hạn

Đoạn mã dưới đây chỉ cho phép người dùng tải lên các tệp JPG, JPEG, PNG và GIF. Tất cả các loại tệp khác đưa ra thông báo lỗi trước khi đặt $uploadOk thành 0

Đôi khi chúng tôi muốn tải lên một tệp ở dạng HTML của mình. PHP cung cấp tính năng xử lý tệp ở phía máy chủ với mảng $_FILES. Chúng ta cũng có thể kiểm tra các thuộc tính khác nhau của tệp như tên tệp, loại tệp, kích thước tệp và một số thuộc tính khác

đọc thêm. Cách tải tệp lên bằng PHP

Mục lục

$_FILES là gì?

PHP cung cấp một biến toàn cục gọi là $_FILES. Nó là một mảng kết hợp hai chiều giữ thông tin liên quan đến các tệp đã tải lên thông qua phương thức HTTP POST

Nó giữ thuộc tính như sau

Mô tả thuộc tính[name]Tên của tệp đang được tải lên[size]Kích thước của tệp[type]Loại tệp[tmp_name]Địa chỉ tạm thời chứa tệp trước khi xử lý yêu cầu tải lên[lỗi]Mã lỗi liên quan đến tệp

Cú pháp thuộc tính trên với $_FILES

  1. $_FILES[tệp][tên]
  2. $_FILES[tệp][tmp_name]
  3. $_FILES[tệp][loại]
  4. $_FILES[tệp][kích thước]
  5. $_FILES[tệp][lỗi]

Hãy lấy một ví dụ đơn giản chỉ ra các thuộc tính $_FILES khác nhau

ví dụ 1

";
   print_r($_FILES);
   echo "
"; ?>

Đoạn mã trên hiển thị trang HTML sau cho người dùng

Việc sử dụng các tệp $ _ trong PHP là gì?
Việc sử dụng các tệp $ _ trong PHP là gì?

Ta chọn file và upload lên sau đó print_r hiển thị toàn bộ thông tin liên quan đến dữ liệu. Giả sử chúng tôi tải lên tải xuống. png thì nó sẽ hiển thị đầu ra như sau

đầu ra

Mảng (
[tệp] => Mảng
(
[tên] => errorsea. txt
[loại] => Tài liệu văn bản (. txt)
[tmp_name] => 5EB63BBBE01EEED093CB22BB8F5ACDC3
[kích thước] => 69696
[lỗi] => 0
)
)

Các bước đang tiến hành để tải tệp lên

  1. Trước tiên, người dùng mở một trang HTML chứa biểu mẫu có tệp văn bản, nút duyệt và nút gửi
  2. Người dùng bấm vào nút duyệt và chọn tệp để tải lên máy chủ
  3. Đường dẫn đầy đủ cho tệp đã chọn xuất hiện trong trường văn bản và người dùng nhấp vào nút gửi
  4. Tệp được gửi đến một vị trí tạm thời trên máy chủ
  5. Tệp PHP được gán cho một biểu mẫu trong thuộc tính hành động kiểm tra xem tệp đã đến chưa và sau đó sao chép tệp vào thư mục dự định
  6. Nếu tệp được tải lên thành công, thì PHP tuân theo thành công cho người dùng

ví dụ 2

Giả sử chúng ta muốn tạo một biểu mẫu lấy tệp hình ảnh và tải nó lên máy chủ

bước

  1. Đầu tiên, chúng tôi tạo một chỉ mục. tệp html chứa mã của biểu mẫu HTML
  2. Sau đó, chúng tôi tạo tải lên. tệp php xử lý việc tải lên hình ảnh
Bước 1. Mã cho chỉ mục. tệp html



  Errorsea


  

Upload file



// Here file name is used for accessing the file
Bước 2. Mã tải lên. tập tin php
 File Properties 
"; echo "
Name : ".$name."
"; echo "
Size : ".$size."
"; echo "
Type : ".$type."
"; echo "
Temporary Name : ".$temp_name."
"; echo "
Errors : ".$error."
"; } } ?>

Khi tệp được tải lên thành công, thì chúng ta có thể truy cập tất cả các thuộc tính tệp từ mảng $_FILES. Chúng tôi có thể truy cập loại tệp, kích thước tệp và tên tệp, v.v.

Việc sử dụng các tệp $ _ là gì?

Biến toàn cục được xác định trước $_FILES là một mảng kết hợp chứa các mục được tải lên qua phương thức HTTP POST . Tải lên một tệp yêu cầu biểu mẫu phương thức HTTP POST với thuộc tính enctype được đặt thành nhiều phần/biểu mẫu dữ liệu. $_FILES['file']['name'] - Tên ban đầu của tệp sẽ được tải lên.

Các tệp $ _ có nghĩa là gì trong PHP?

$_FILES là mảng toàn cục liên kết hai chiều gồm các mục đang được tải lên qua phương thức HTTP POST và chứa các thuộc tính của tệp . Thuộc tính. Sự miêu tả. [name] Tên tệp đang tải lên.

Sự khác biệt giữa $_ tệp [' Tên tệp người dùng '] và $_ tệp [' Tên tệp người dùng Tmp_name '] là gì?

$_FILES['userfile']['name'] Tên ban đầu của tệp trên máy khách. $_FILES['userfile']['tmp_name'] Tên tệp tạm thời của tệp mà tệp đã tải lên được lưu trữ trên máy chủ

Làm cách nào để lấy giá trị của một tệp trong PHP?

The file_get_contents() đọc một tệp thành một chuỗi. Hàm này là cách ưa thích để đọc nội dung của tệp thành một chuỗi. Nó sẽ sử dụng các kỹ thuật ánh xạ bộ nhớ, nếu điều này được máy chủ hỗ trợ, để nâng cao hiệu suất.