<?php
function uploadImageFile() {
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$iWidth = $iHeight = 200;
$iJpgQuality = 90;
if ($_FILES) {
if (! $_FILES['image_file']['error'] && $_FILES['image_file']['size'] < 500 * 1024) {
if (is_uploaded_file($_FILES['image_file']['tmp_name'])) {
$sTempFileName = 'cache/' . md5(time().rand());
move_uploaded_file($_FILES['image_file']['tmp_name'], $sTempFileName);
@chmod($sTempFileName, 0644);
if (file_exists($sTempFileName) && filesize($sTempFileName) > 0) {
$aSize = getimagesize($sTempFileName);
if (!$aSize) {
@unlink($sTempFileName);
return;
}
switch($aSize[2]) {
case IMAGETYPE_JPEG:
$sExt = '.jpg';
$vImg = @imagecreatefromjpeg($sTempFileName);
break;
case IMAGETYPE_GIF:
$sExt = '.gif';
$vImg = @imagecreatefromgif($sTempFileName);
break;
case IMAGETYPE_PNG:
$sExt = '.png';
$vImg = @imagecreatefrompng($sTempFileName);
break;
default:
@unlink($sTempFileName);
return;
}
$vDstImg = @imagecreatetruecolor( $iWidth, $iHeight );
imagecopyresampled($vDstImg, $vImg, 0, 0, (int)$_POST['x1'], (int)$_POST['y1'], $iWidth, $iHeight, (int)$_POST['w'], (int)$_POST['h']);
$sResultFileName = $sTempFileName . $sExt;
imagejpeg($vDstImg, $sResultFileName, $iJpgQuality);
@unlink($sTempFileName);
return $sResultFileName;
}
}
}
}
}
}
$sImage = uploadImageFile();
?>