Computer >> Máy Tính >  >> Lập trình >> PHP

Làm cách nào để tải lên nhiều tệp và lưu trữ chúng trong một thư mục bằng PHP?

Dưới đây là các bước để tải lên nhiều tệp và lưu trữ chúng trong một thư mục -

  • Tên đầu vào phải được xác định là một mảng, tức là tên ="inputName []"
  • Phần tử đầu vào phải có nhiều ="nhiều" hoặc chỉ nhiều
  • Trong tệp PHP, hãy 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. Để giải quyết vấn đề này, hãy sử dụng array_filter () trước khi đếm.

Dưới đây là phần minh họa về mã -

HTML

<input name="upload[]" type="file" multiple="multiple" />

PHP

$files = array_filter($_FILES['upload']['name']); //Use something similar before processing files.
// Count the number of uploaded files in array
$total_count = count($_FILES['upload']['name']);
// Loop through every file
for( $i=0 ; $i < $total_count ; $i++ ) {
   //The temp file path is obtained
   $tmpFilePath = $_FILES['upload']['tmp_name'][$i];
   //A file path needs to be present
   if ($tmpFilePath != ""){
      //Setup our new file path
      $newFilePath = "./uploadFiles/" . $_FILES['upload']['name'][$i];
      //File is uploaded to temp dir
      if(move_uploaded_file($tmpFilePath, $newFilePath)) {
         //Other code goes here
      }
   }
}

Các tệp được liệt kê và số lượng tệp cần tải lên được lưu trữ trong biến "total_count". Đường dẫn tệp tạm thời được tạo và mọi tệp được đặt lặp đi lặp lại trong đường dẫn tạm thời này chứa một thư mục.