//$befor_file:元画像ファイルのフルパス
//$new_width:縮小後の横幅サイズ(縦横比を維持する)
//$after_file:縮小後ファイルのフルパス
//元画像と縮小後のフルパスが同じだったら上書きする

function f_resizeImage($befor_file, $new_width, $after_file){

list($width, $height, $type) = getimagesize($befor_file);

$new_height = round($height*$new_width/$width);

$emp_img = imagecreatetruecolor($new_width, $new_height);

switch($type){
case IMAGETYPE_JPEG:
$new_image = imagecreatefromjpeg($befor_file);
break;
case IMAGETYPE_GIF:
$new_image = imagecreatefromgif($befor_file);
break;
case IMAGETYPE_PNG:
imagealphablending($emp_img, false);
imagesavealpha($emp_img, true);
$new_image = imagecreatefrompng($befor_file);
break;
}

imagecopyresampled($emp_img, $new_image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);

switch($type){
case IMAGETYPE_JPEG:
imagejpeg($emp_img, $after_file);
break;
case IMAGETYPE_GIF:
$bgcolor = imagecolorallocatealpha($new_image, 0, 0, 0, 127);
imagefill($emp_img, 0, 0, $bgcolor);
imagecolortransparent($emp_img, $bgcolor);
imagegif($emp_img, $after_file);
break;
case IMAGETYPE_PNG:
imagepng($emp_img, $after_file);
break;
}

imagedestroy($emp_img);
imagedestroy($new_image);
}


<form id="dataForm" action="xxxx.php method="post" enctype="multipart/form-data">

enctype="multipart/form-data"


でファイル送信と同時にPOSTするときは、


php.ini の


mbstring.http_input = auto


を pass にする