Вам необходимо получить высоту и ширину изображения, используя getimagesize
, а затем изменить его размер, используя imagecopyresized
Остальное всета же самая базовая работа, проделанная с GD для загрузки и сохранения изображения.
Вот базовый пример: если вы хотите учесть соотношение высоты / ширины, то вам нужно выполнить некоторые дополнительные вычисления.
<?php
header("Content-type: image/png");
$size = getimagesize($filename);
$image = imagecreatefrompng($filename);
$thumbnail = imagecreate(100,100);
imagecopyresized($thumbnail, $image, 0, 0, 0, 0, 100, 100, $size[0], $size[1]);
imagepng($thumbnail);
imagedestroy($image);
imagedestroy($thumbnail);