2015-02-12 26 views
7

Przesyłam wiele plików. Główna funkcja działa poprawnie, ale muszę zmienić nazwy przesyłaniu plików odczuwalna: name1.jpg, name2.jps, name3.jpg ...Przesyłanie wielu plików i zmiana nazwy - PHP

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

numer $i powinny rosnąć z ilością przesłanych plików. Mam nadzieję, że wyjaśniłem to poprawnie.

+1

wypróbować 'for' pętlę – Ghost

Odpowiedz

9

Jak @Ghost mówi w swoim komentarzu, trzeba pętlę:

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>"; 
      } 

    } 

} 
Powiązane problemy