2015-02-12 14 views
7

Sto caricando più file. Funzione principale funziona bene, ma devo cambiare i nomi di caricamento dei file come: name1.jpg, name2.jps, name3.jpg, ...Caricamento di più file e ridenominazione - PHP

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

Numero $i deve crescere con la quantità di file caricati. Spero che lo abbia spiegato correttamente.

+1

provare un 'ciclo for' – Ghost

risposta

9

Come @Ghost dice nel suo commento, è necessario un ciclo :

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

    } 

} 
Problemi correlati