2015-02-12 2 views
7

Я загружаю несколько файлов. Основная функция работает отлично, но я должен изменить имена загрузки файлов как: name1.jpg, name2.jps, name3.jpg ...Загрузка нескольких файлов и переименование - PHP

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

Количество $i должны расти вместе с количеством загруженных файлов. Надеюсь, это объяснило это правильно.

+1

попробовать 'for' цикл – Ghost

ответ

9

Как говорит @Ghost в своем комментарии, вам нужно цикл:

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

    } 

} 
Смежные вопросы