Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> PHP

Cách tải lên nhiều file và lưu vào thư mục với PHP

Dưới đây là các bước để tải lên nhiều file và lưu chúng vào thư mục:

  • Tên input phải được định nghĩa là mảng, ví dụ: name="inputName[]"
  • Phần tử input phải có multiple="multiple" hoặc chỉ multiple
  • Trong file PHP, sử dụng cú pháp "$_FILES['inputName']['param'][index]"
  • Tên file và đường dẫn rỗng phải được kiểm tra vì mảng có thể chứa chuỗi rỗng. Để giải quyết, sử dụng array_filter() trước count.

Dưới đây là mã minh họa:

HTML

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

PHP

$files = array_filter($_FILES['upload']['name']); // Sử dụng tương tự trước khi xử lý file 
// Đếm số file tải lên trong mảng 
$total_count = count($_FILES['upload']['name']); 
// Lặp qua từng file 
for( $i=0 ; $i < $total_count ; $i++ ) { 
    // Đường dẫn file tạm được lấy 
    $tmpFilePath = $_FILES['upload']['tmp_name'][$i]; 
    // Đường dẫn file cần có mặt 
    if ($tmpFilePath != ""){ 
        // Thiết lập đường dẫn file mới 
        $newFilePath = "./uploadFiles/" . $_FILES['upload']['name'][$i]; 
        // File được tải lên thư mục tạm 
        if(move_uploaded_file($tmpFilePath, $newFilePath)) { 
            // Mã khác đặt ở đây 
        } 
    } 
}

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