PHP --- POSTで送られてきた画像をリサイズして保存

GDを利用するため、有効にしておいてください。

php.ini

extension=php_gd2.dll


<?php
$originalImage = imagecreatefromjpeg($_FILES['image']['tmp_name']);
assert($originalImage);

$originalWidth  = imagesx($originalImage);
$originalHeight = imagesy($originalImage);

$resizedWidth  = 100;
$resizedHeight = (int)($originalHeight * $resizedWidth / $originalWidth);

$resizedImage = imagecreatetruecolor($resizedWidth, $resizedHeight);
assert($resizedImage);

$result = imagecopyresampled(
    $resizedImage,
    $originalImage,
    0,
    0,
    0,
    0,
    $resizedWidth,
    $resizedHeight,
    $originalWidth,
    $originalHeight
);
assert($result);

$dstPath = '...';
$result = imagejpeg($resizedImage, $dstPath);
assert($result);

imagedestroy($originalImage);
imagedestroy($resizedImage);