Làm cách nào tôi có thể di chuyển nhiều tệp tải lên trong php?

Chà, đừng đổ mồ hôi. Nhóm của chúng tôi đã vượt qua cơn bão và nghiên cứu những cách tốt nhất có thể để chọn và tải tệp của bạn lên mà không gặp rắc rối nào. Bây giờ, chúng ta hãy tìm hiểu đầy đủ về nó

Cách tải lên nhiều tệp trong PHP

Như chúng tôi đã nói trước đó, chúng tôi sẽ đề cập đến các quy trình liên quan khi tải lên nhiều tệp trong PHP. Tuy nhiên, trước khi chúng tôi bắt đầu, hãy tìm hiểu một chút về lý do các tệp được tải lên

Các tệp tải lên là một phần không thể thiếu của hệ thống chia sẻ tệp và nó đóng một vai trò quan trọng trong cách thức phân phối thông tin trên mạng toàn cầu. Bằng cách này hay cách khác, bạn hẳn đã thấy mình tải xuống nội dung, hình ảnh hoặc tài liệu từ internet hoặc tải tệp từ máy tính của bạn lên internet

Mọi ngôn ngữ lập trình đều có cách xử lý tải lên nhiều tệp nhưng ở đây, sẽ tập trung vào cách PHP xử lý tải lên tệp

Đối với người mới bắt đầu, việc tải lên một tệp bằng PHP cũng có thể được ví như việc cập nhật ảnh hồ sơ của bạn hoặc chia sẻ ảnh kỳ nghỉ gần đây của bạn trên phương tiện truyền thông xã hội yêu thích của bạn với những người theo dõi bạn

PHP là ngôn ngữ kịch bản đa năng nổi tiếng đặc biệt phù hợp với phát triển web. Nó nhanh, linh hoạt và thực dụng. Nó hỗ trợ mọi thứ từ blog của bạn đến các trang web phổ biến nhất trên toàn cầu;

PHP được nhúng vào HTML để quản lý nội dung động giao tiếp với cơ sở dữ liệu. Trình tải lên nhiều tệp PHP là tính năng phổ biến nhất mà hầu hết mọi nhà phát triển PHP đều phải xây dựng.

Như chúng ta đã biết, chức năng tải lên tệp được yêu cầu trong hầu hết các ứng dụng web. Ngày nay, người dùng không thể không tải lên các tệp, có thể là Instagram, Twitter, Facebook hoặc Tumblr. Nói đủ rồi, hãy đi sâu vào quá trình tải lên nhiều tệp

Những điều bạn cần biết về việc tải lên nhiều tệp trong PHP

PHP, là ngôn ngữ phía máy chủ cho chương trình phụ trợ, không thể tự tải tệp lên. Nó phải được sử dụng kết hợp với HTML. Chúng tôi sẽ cho rằng bạn có kiến ​​thức làm việc về HTML để thực hiện tải lên tệp xử lý php

Ưu điểm chính của trình tải lên nhiều tệp PHP là nó cho phép người dùng chọn và tải lên nhiều tệp cùng một lúc

PHP có một phương thức để tải tệp lên, thực hiện xác thực tệp và phương thức này có tên là ** move_uploaded_file[] **. Chức năng di chuyển các tệp được tải lên từ máy cục bộ đến một vị trí mới. Nếu tên tệp là một tệp tải lên không hợp lệ, nó sẽ trả về false và không có hành động nào được thực hiện.

Tuy nhiên, nếu tên tệp là một tệp tải lên hợp lệ nhưng không thể di chuyển vì lý do nào đó, thì không có hành động nào có thể xảy ra và trả về false. Chúng tôi sẽ sử dụng phương pháp này vì mục đích của bài viết này

Hãy tạo một ** chỉ mục. html ** cho một trang HTML đơn giản có biểu mẫu để thu thập các tệp đã chọn và phương thức POST để xử lý nhiều tệp tải lên. Trong trường hợp bạn không biết phương thức POST là gì, thì đó là một trong những yêu cầu HTTP.

HTTP xác định một tập hợp các phương thức yêu cầu để chỉ định hành động mong muốn được thực hiện đối với một tài nguyên nhất định. Để biết thêm thông tin, hãy kiểm tra [yêu cầu HTTP] [https. // nhà phát triển. mozilla. org/en-US/docs/Web/HTTP/Phương thức]

Phương thức POST được sử dụng để gửi một thực thể tới tài nguyên đã chỉ định, thường gây ra thay đổi về trạng thái hoặc [các] tác dụng phụ trên máy chủ. Phương thức post thu thập dữ liệu biểu mẫu ở định dạng mảng và chuyển nó đến máy chủ một cách ngắn gọn

Dưới đây là chỉ mục. html có dạng, thì hành động sẽ là tệp chứa mã giúp php xử lý tệp tải lên. Thuộc tính enctype multipart/form-data đảm bảo rằng dữ liệu biểu mẫu sẽ được mã hóa dưới dạng dữ liệu MIME.

Tải lên nhiều tệp

Hãy để chúng tôi thêm hai thẻ đầu vào bên trong biểu mẫu. Đầu vào đầu tiên có loại tệp và tên tệp bằng nhau với một mảng trống biểu thị một mảng và bội số của nó để cho phép chọn nhiều tệp

``

``

Thẻ đầu vào thứ hai với loại gửi, gửi tên bằng nhau và tải lên giá trị. Thuộc tính tên của các trường đầu vào sẽ được sử dụng trong tập lệnh PHP của chúng tôi

Tập tin chỉ mục bây giờ

Tải lên nhiều tệp

Nếu bạn cảm thấy khó theo dõi, đây là bảng phân tích cú pháp đã sử dụng;

`$_FILES` Toàn cầu này chứa tất cả thông tin của tệp. Sử dụng ` $_FILES ` toàn cục này cho phép chúng tôi lấy tên tệp, loại tệp, kích thước tệp, tên tệp tạm thời và các lỗi liên quan đến tệp.

  • `$file_name = $_FILES[‘file’][‘name’]` trả về tên của tệp
  • `$file_tmp = $_FILES[‘file’][‘tmp_name’]` trả về tên tệp tạm thời
  • `$file_size = $_FILES[‘file’][‘size’]` trả về kích thước của tệp [tính bằng byte]
  • `$file_error = $_FILES[‘file’][‘error’]` trả về mã lỗi của tệp
  • `$file_type = $_FILES[‘file’][‘type’]` trả về loại MIME của tệp
  • ` $allowed_types = array[‘jpg’, ‘png’, ‘jpeg’, ‘gif’];` các loại tệp được phép

Hãy để chúng tôi tìm hiểu về fileUpload. tập tin php bây giờ

Từ đoạn mã trên, nó kiểm tra xem biểu mẫu đã được gửi chưa, đếm tổng số tệp, sau đó lặp qua các tên tệp trước khi tiếp tục kiểm tra xem nó có vượt qua một số điều kiện không. Kiểm tra đoạn mã dưới đây

nếu[. in_array[$file_act_ext, $allowed] ]

trả về 'Chỉ các tệp được phép. ’;

nếu[ $file_error. = 0 ]

return 'Kích thước hình ảnh không được nhỏ hơn 0. ’;

nếu[ $file_size > $maxsize ]

return 'Kích thước hình ảnh phải nhỏ hơn hoặc bằng 2mb. ’;

$new_file_name = $name. $file_act_ext;

$file_des = $path. ’/’. $new_file_name;

$move = move_uploaded_file[$file_tmp, $file_des];

nếu[. $di chuyển]{

trở lại "Rất tiếc không thể tải lên hình ảnh. ” ;

}

Điều kiện đầu tiên kiểm tra xem phần mở rộng tệp có nằm trong mảng ` $allowed ` hay không và trả về một thông báo. Tiếp theo, kiểm tra xem `file_error` có bằng 0 hay không, sau đó nó trả về thông báo rằng tệp không được nhỏ hơn 0 và điều kiện cuối cùng kiểm tra xem ` $file_size` is greater than the set `$maxsize` it should return a message saying image should be less than or equal to 2MB.

Nếu tất cả các điều kiện được thỏa mãn, hãy lưu trữ ` $name. $file_act_ext ` trong biến mới nối nó với đường dẫn trong ` $file_des ` và chuyển chúng vào . $move = move_uploaded_file[$file_tmp, $file_des]` for php multiple file uploads.

Nếu không ` $move ` thì sẽ trả về một thông báo như trong đoạn mã trên Rất tiếc không thể tải hình ảnh lên

Đoạn mã dưới đây hiển thị mã hoàn chỉnh tải lên nhiều tệp PHP

Chủ Đề