2015-02-12 14 views
7

Tôi đang tải lên nhiều tệp. chức năng chính hoạt động tốt, nhưng tôi phải thay đổi tên các tập tin tải lên Giống như: name1.jpg, name2.jps, name3.jpg ...Tải lên nhiều tệp và đổi tên - PHP

$i = 1; 
if(move_uploaded_file($_FILES['upl']['tmp_name'], 'uploads/name'.$i++.'.'.$extension)){ 
    echo '{"status":"success"}'; 
    exit; 
} 

Số $i nên phát triển với số lượng các tập tin được tải lên. Tôi hy vọng rằng giải thích nó một cách chính xác.

+1

thử một 'vòng for' – Ghost

Trả lời

9

Như @Ghost nói trong comment của mình, bạn cần một vòng lặp :

if(isset($_FILES['files'])){ 

    $name_array = $_FILES['files']['name']; 
    $tmp_name_array = $_FILES['files']['tmp_name']; 
    // Number of files 
    $count_tmp_name_array = count($tmp_name_array); 

    // We define the static final name for uploaded files (in the loop we will add an number to the end) 
    $static_final_name = "name"; 

    for($i = 0; $i < $count_tmp_name_array; $i++){ 
      // Get extension of current file 
      $extension = pathinfo($name_array[$i] , PATHINFO_EXTENSION); 

      // Pay attention to $static_final_name 
      if(move_uploaded_file($tmp_name_array[$i], "uploads/".$static_final_name.$i.".".$extension)){ 
       echo $name_array[$i]." upload is complete<br>"; 
      } else { 
       echo "move_uploaded_file function failed for ".$name_array[$i]."<br>"; 
      } 

    } 

} 
Các vấn đề liên quan