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.

<. LOẠI TÀI LIỆU html>

<đầu>

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ờ

<. LOẠI TÀI LIỆU html>

<đầu>

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ờ

if(isset($_POST[‘submit’])){

$count = count($_FILES[‘file’][‘name’]);

$maxsize = 2 * 1024 * 1024;

for($i=0; $i<$count; $i++){

$file_name = $_FILES[‘file’][‘name’][$i];

$file_tmp = $_FILES[‘file’][‘tmp_name’][$i];

$file_size = $_FILES[‘file’][‘size’][$i];

$file_error = $_FILES[‘file’][‘error’][$i];

$file_type = $_FILES[‘file’][‘type’][$i];

$file_ext = phát nổ (‘. ’, $file_name);

$file_act_ext = strtolower(end($file_ext));

$allowed_types = array(‘jpg’, ‘png’, ‘jpeg’, ‘gif’);

$path = 'ĐƯỜNG ĐI CỦA BẠN';

}

}

?>

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

if(isset($_POST[‘submit’])){

$count = count($_FILES[‘file’][‘name’]);

$maxsize = 2 * 1024 * 1024;

for($i=0; $i<$count; $i++){

$file_name = $_FILES[‘file’][‘name’][$i];

$file_tmp = $_FILES[‘file’][‘tmp_name’][$i];

$file_size = $_FILES[‘file’][‘size’][$i];

$file_error = $_FILES[‘file’][‘error’][$i];

$file_type = $_FILES[‘file’][‘type’][$i];

$file_ext = phát nổ (‘. ’, $file_name);

$file_act_ext = strtolower(end($file_ext));

$allowed_types = array(‘jpg’, ‘png’, ‘jpeg’, ‘gif’);

$path = 'ĐƯỜNG ĐI CỦA BẠN';

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 phải lớn hơn 2mb. ’;

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. ” ;

}

}

}

?>

Sự kết luận

Ở đó bạn có nó. Chúng tôi đã đề cập đến tất cả các mẹo, thủ thuật và các bước cần thiết mà bạn có thể làm theo để thực hiện tải lên nhiều tệp trong PHP mà không gặp bất kỳ rắc rối nào. Nhưng trước khi kết thúc một ngày, chúng ta hãy tóm tắt nhanh những gì chúng ta đã thảo luận cho đến nay

  • Làm cách nào tôi có thể di chuyển nhiều tệp tải lên trong php?
    Có, có thể tải lên nhiều tệp cùng một lúc bằng PHP
  • Để làm cho toàn bộ quá trình diễn ra suôn sẻ và không bị căng thẳng, bạn phải sử dụng một phần tử tệp đầu vào duy nhất
  • Ngoài ra, điều quan trọng là phải tùy chỉnh mã PHP tải lên một tệp của bạn và cho phép phần tử tệp của bạn chọn nhiều tệp

Khi bạn có thể tải lên các tệp của mình cùng một lúc, bạn có thể nâng cao hiệu quả và năng suất của mình bằng cách tiết kiệm thời gian thực hiện nhiều tác vụ tải lên. Tại sao không làm theo phương pháp được viết sẵn để tải lên nhiều tệp PHP và giảm căng thẳng cho bản thân?

Đánh giá bài viết này

  • Tác giả
  • Bài viết gần đây

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

Vị trí là tất cả

Vị trí là tất cả. Tài nguyên Go-To của bạn để Tìm hiểu & Xây dựng. CSS, JavaScript, HTML, PHP, C++ và MYSQL

Làm cách nào tôi có thể tải lên nhiều tệp cùng một lúc trong PHP?

Redis và PHP .
Tên đầu vào phải được định nghĩa là một mảng i. e. tên = "tên đầu vào []"
Phần tử đầu vào phải có nhiều = "nhiều" hoặc chỉ nhiều
Trong tệp PHP, sử dụng cú pháp "$_FILES['inputName']['param'][index]"
Tên tệp và đường dẫn trống phải được kiểm tra vì mảng có thể chứa các chuỗi trống

Làm cách nào tôi có thể tải lên nhiều hình ảnh cùng một lúc trong PHP?

Tải lên nhiều tệp trong PHP (tải lên. .
Bao gồm tệp cấu hình cơ sở dữ liệu để kết nối và chọn cơ sở dữ liệu MySQL
Lấy phần mở rộng tệp bằng hàm pathinfo() trong PHP và kiểm tra xem người dùng chỉ chọn các tệp hình ảnh
Tải hình ảnh lên máy chủ bằng hàm move_uploaded_file() trong PHP

Các bước để tải lên nhiều tệp là gì?

Windows – trong Files Explorer, chọn nhiều tệp > nhấp chuột phải > Gửi đến > thư mục Nén (ZIP). .
Không thể tải tệp HTML lên trong tệp ZIP
Bạn có thể chọn có ghi đè lên các tệp hiện có hay không
Các tệp đã giải nén được làm phẳng - các thư mục bên trong tệp ZIP bị bỏ qua

Move_uploaded_file trong PHP là gì?

Định nghĩa và cách sử dụng . Ghi chú. Chức năng này chỉ hoạt động trên các tệp được tải lên qua cơ chế tải lên HTTP POST của PHP. Ghi chú. Nếu tệp đích đã tồn tại, nó sẽ bị ghi đè. moves an uploaded file to a new destination. Note: This function only works on files uploaded via PHP's HTTP POST upload mechanism. Note: If the destination file already exists, it will be overwritten.