Я построил этот awial назад, работает для JPEG , JPG , GIF , PNG
Сохраняет втекущий каталог "images".
<?
max_size = 300; //size in kbs
if($_POST['Submit'] == "Upload"){$image =$_FILES["file"]["name"];$uploadedfile = $_FILES['file']['tmp_name'];
if ($image){$filename = stripslashes($_FILES['file']['name']);$extension = getExtension($filename); $extension = strtolower($extension);
if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png") && ($extension != "gif")) {$change='Invalid Picture';$errors=1;}
else{$size=filesize($_FILES['file']['tmp_name']);
if ($size > $max_size*1024){$change='File too big!';$errors=1;}
else{
if($extension=="jpg" || $extension=="jpeg" ){$uploadedfile = $_FILES['file']['tmp_name'];$src = imagecreatefromjpeg($uploadedfile);}
else if($extension=="png"){$uploadedfile = $_FILES['file']['tmp_name'];$src = imagecreatefrompng($uploadedfile);}
else {$src = imagecreatefromgif($uploadedfile);}
echo $scr;
list($width,$height)=getimagesize($uploadedfile);
//MAIN IMAGE
$newwidth=300;
$newheight=($height/$width)*$newwidth;
$tmp=imagecreatetruecolor($newwidth,$newheight);
$kek=imagecolorallocate($tmp, 255, 255, 255);
imagefill($tmp,0,0,$kek);
imagecopyresampled($tmp,$src,0,0,0,0,$newwidth,$newheight,$width,$height);
//Does Directory Exhist?
if(is_dir("images")==FALSE){mkdir("images");}
//Build file path and SAVE
$filepath = "images/".md5(genRandomString().$_FILES['file']['name']).".".$extension;
imagejpeg($tmp,$filepath,100);
imagejpeg($tmp,$filepath,100);
imagedestroy($src);
imagedestroy($tmp);
//ERROR HANDLING
if($_FILES["file"]["size"]<=0){$errors=1;$change='No file';}
if($errors!=1){$change='Image Uploaded!';}
}
}
}
}
?>
Для ваших ошибок:
<div><? echo $change ?></div>