ладно... умничать не буду

.... дам код:
PHP код:
<?
//файл передаёшь стандартной формой..... там енкод мултипарт не забудь <input name="userfile" type="file" />
//(C) [stasik.com]
$dir="/home/user/public_html/fotos/"; //0777
//тут можно ещё и preg_replace`ом почистить.....
$uploadfile = $dir . basename($_FILES['userfile']['name']);
$uploadfile = strtolower($uploadfile);
$uploadthumb = $dir . basename($_FILES['userfile']['name']);
$uploadthumb = strtolower($uploadthumb);
//есть файл или нет
if(file_exists($uploadfile)){echo "Filename already exists or no file. Rename or think a bit longer."; exit;};
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "Ok file is here, lets look at it:\n<br>";
} else {
echo "Possible file upload attack!\n"; exit;
}
//смотрим файл
$result_array = getimagesize($uploadfile);
//фотки думаю, только в жпег заливают
if ($result_array !== false) {
$mime_type = $result_array['mime'];
switch($mime_type) {
case "image/jpeg":
echo "jpeg... ok";
break;
default:
echo "image, but no jpeg, deleted"; @unlink($uploadfile); exit;
}
} else {
echo "file is not a valid image file, deleted"; @unlink($uploadfile); exit;
}
//размерчики
$width=$result_array[0];
if($width>3000){echo "too big, deleted."; @unlink($uploadfile); exit;}
if($height>3000){echo "too big, deleted."; @unlink($uploadfile); exit;}
//думаем о размерчиках нэйла (тут сам ломай голову.. я так сделал просто и сердито, но с пропорциями иногда траблы)
if($height>=$width){
$factor=125/$width;
}else{
$factor=95/$height;
}
$nwidth=round($width*$factor);
$nheight=round($height*$factor);
//resize on linux тоже quick&dirty можно и imgmagick... хмм и gd может тоже
$tmpimg = tempnam($dir, "TEMP");
system("djpeg $uploadfile >$tmpimg");
system("pnmscale -xy $nwidth $nheight $tmpimg | cjpeg -smoo 10 -qual 50 >$uploadthumb");
unlink($tmpimg);
//усё
?>