Как я могу создать изображение, загруженное пользователем, для автоматической настройки на определенную ширину и высоту на моем веб-сайте PHP без изменения размеров?

#javascript #php #html #css

#javascript #php #HTML #css

Вопрос:

Я создал веб-сайт, на который пользователь может загружать изображения, но я не указал размеры изображения, которые они могут загружать. Итак, как я могу сделать так, чтобы изображение, загруженное пользователем, автоматически настраивалось на определенную ширину и высоту в базе данных, прежде чем его можно будет извлечь для отображения на моем сайте?

Ответ №1:

Доброе утро.

Я полагаю, вы можете использовать функцию, подобную этой:

 function resize_my_image_to_max_900($my_image){
    $control_width = imagesx($my_image);     // Store original width value
    $control_height = imagesy($my_image);     // Store original height value
    $n_width = $control_width;            // Default, case value <= 900
    $n_height = $control_height;           // Default, case value <= 900

    if($n_width >= 900 || $n_height >= 900):
        while(($n_width >= 900) || ($n_height >= 900)):
            $n_width = $control_width - ($control_width * 0.25);
            $n_height = $control_height - ($control_height * 0.25);
            
            if($n_width < 900 || $n_height < 900): break; endif;
        endwhile;
    endif;

    $new_image = imagecreatetruecolor($n_width, $n_height);

    imagealphablending($new_image, false);
    imagesavealpha($new_image, true);
    imagecopyresampled($new_image, $my_image, 0, 0, 0, 0, $n_width, $n_height, $control_width, $control_height);
}
  

Хорошего дня и хорошей работы.