@Mike_Polit

Как переписать функцию, чтобы была multi загрузка изображений?

Добрый вечер!

Подскажите плиз как поправить функцию однофайловой загрузки на многофайловую!

Вот мой код:

<div class="row">
	<div class="col my-auto">
		<input type="file" name="user_image[]" id="user_image" multiple />
	</div>
        <div class="col my-auto">
	        <span id="user_uploaded_image"></span>
        </div>
</div>
  • Вопрос задан
  • 189 просмотров
Решения вопроса 1
@Mike_Polit Автор вопроса
Автор ответа:
Антон Р. Антон Р.

function upload_image()
{
  if(isset($_FILES['user_image']))
  {
    // Count total files
    $countfiles = count($_FILES['user_image']['name']);

    for($i=0;$i<$countfiles;$i++){
      $extension = explode('.', $_FILES['user_image']['name'][$i]);
      $new_name = rand() . '.' . $extension[1];
      $destination = '../portfolio/upload/' . $new_name;
      $thumbDestination = '../portfolio/upload/thumb/' . $new_name;
      
      move_uploaded_file($_FILES['user_image']['tmp_name'][$i], $destination);
      
      resize($destination, $thumbDestination, 300);
    }
    return $new_name;
  }
}


function resize($source, $destination, $width){
  
    $image = new Imagick($source);
    
    // Получаем соотношение сторон для пропорционального ресайза.
    $d = $image->getImageGeometry();
    $w = $d['width'];
    $h = $d['height'];
    $aspectratio = $h / $w;
    
    // Ресайзим и сохраняем.
    $image->resizeImage($width, $width*$aspectratio, Imagick::FILTER_LANCZOS, 1);
    $image->writeImage($destination);
    $image->destroy();
    
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы