if ($sizefile>$sizeconf) { // сравниваем размер.. он больше положеного
$bct ='<div align="center">Ошибка загрузки!!!<br>Размер файла превышает <font color="#FF0000"><strong>'.$razmer.'</strong></font> килобайт! <br>'.$back.'</div>';
} else {
if(!file_exists($loadimage)){ // есть ли файл
$bct ='<div align="center">Ошибка загрузки!!!<br>Выберите файл <br>'.$back.'</div>';
} else {
if($sizefile<=0) { // сравниваем размер файла если нулевой
$bct ='<div align="center">Ошибка загрузки!!!<br>Размер файла равен нулю <br>'.$back.'</div>';
} else {
if($mime=="image/jpeg" || $mime=="image/pjpeg") { // если тип файла картинка
/////// создание папок при удачной загрузке
$dataY=date("Y",$db_datareg);
$dataM=date("m",$db_datareg);
$dataD=date("d",$db_datareg);
$fotorand="$fotorand1$fotorand2";
$fotoname=$fotorand; // переназываем файл циферками для удобства базы и вывода
$putiY="images/users/".$dataY.""; // путь к файлам с годом
if(!is_dir($putiY)) {mkdir($putiY, 0777);} // если нет, создали
$putiM="images/users/".$dataY."/".$dataM.""; // путь к файлам с месяцем
if(!is_dir($putiM)) {mkdir($putiM, 0777);} // если нет, создали
$putiD="images/users/".$dataY."/".$dataM."/".$dataD.""; // путь к файлам с днем
if(!is_dir($putiD)) {mkdir($putiD, 0777);} // если нет, создали
$puti="images/users/".$dataY."/".$dataM."/".$dataD."/".$uid.""; // путь к файлам с айди юзера
if(!is_dir($puti)) {mkdir($puti, 0777);} // если нет, создали
$putimini="images/users/".$dataY."/".$dataM."/".$dataD."/".$uid."/m/"; // путь к файлам с айди юзера
if(!is_dir($putimini)) {mkdir($putimini, 0777);} // если нет, создали
$filegoto=''.$puti.'/'.$fotorand.'.jpg';
$filegoto_m =''.$putimini.'/'.$fotorand.'.jpg';
/////// создание папок при удачной загрузке
$w = 640; // размеры ширина 640 не больше
$w_m = 60; // размеры превьюшек
$src = imagecreatefromjpeg($loadimage);
$w_src = imagesx($src);
if ($w_src<=$w){ $w=$w_src; }
$h_src = imagesy($src);
$dest_m = imagecreatetruecolor($w_m,$w_m);
// вырезаем квадратную серединку по x, если фото горизонтальное
if ($w_src>$h_src) {
imagecopyresampled($dest_m, $src, 0, 0,
round((max($w_src,$h_src)-min($w_src,$h_src))/2),
0, $w_m, $w_m, min($w_src,$h_src), min($w_src,$h_src));
}
// вырезаем квадратную верхушку по y,
// если фото вертикальное (хотя можно тоже серединку)
if ($w_src<$h_src) {
imagecopyresampled($dest_m, $src, 0, 0, 0, 0, $w_m, $w_m,
min($w_src,$h_src), min($w_src,$h_src));
}
// квадратная картинка масштабируется без вырезок
if ($w_src==$h_src) {
imagecopyresampled($dest_m, $src, 0, 0, 0, 0, $w_m, $w_m, $w_src, $w_src);
}
// большая картинка
$ratio = $w_src/$w; // width ratio
$ratio_h = $h_src/$w; // height ratio
if ($ratio_h >= $ratio) { $ratio = $ratio_h; } //else { $ratio = $w_src/$w; }
$w_dest = round($w_src/$ratio);
$h_dest = round($h_src/$ratio);
// создаём пустую картинку
// важно именно truecolor!, иначе будем иметь 8-битный результат
$dest = imagecreatetruecolor($w_dest,$h_dest);
$str = "www.racheev.ru";
imagecopyresampled($dest, $src, 0, 0, 0, 0, $w_dest, $h_dest, $w_src, $h_src);
// определяем координаты вывода текста
$size = 24; // размер шрифта
$x_text = $w_dest-imagefontwidth($size)*strlen($str)-3;
$y_text = $h_dest-imagefontheight($size)-3;
// определяем каким цветом на каком фоне выводить текст
$white = imagecolorallocate($dest, 255, 255, 255);
$black = imagecolorallocate($dest, 0, 0, 0);
$gray = imagecolorallocate($dest, 127, 127, 127);
if (imagecolorat($dest,$x_text,$y_text)>$gray) $color = $black;
if (imagecolorat($dest,$x_text,$y_text)<$gray) $color = $white;
// выводим текст
imagestring($dest, $size, $x_text-1, $y_text-1, $str,$white-$color);
imagestring($dest, $size, $x_text+1, $y_text+1, $str,$white-$color);
imagestring($dest, $size, $x_text+1, $y_text-1, $str,$white-$color);
imagestring($dest, $size, $x_text-1, $y_text+1, $str,$white-$color);
imagestring($dest, $size, $x_text-1, $y_text, $str,$white-$color);
imagestring($dest, $size, $x_text+1, $y_text, $str,$white-$color);
imagestring($dest, $size, $x_text, $y_text-1, $str,$white-$color);
imagestring($dest, $size, $x_text, $y_text+1, $str,$white-$color);
imagestring($dest, $size, $x_text, $y_text, $str,$color);
imagejpeg($dest,$filegoto,80);
imagejpeg($dest_m,$filegoto_m,70);
imagedestroy($dest_m);
imagedestroy($dest);
imagedestroy($src);
$width=$w_dest;
$height=$h_dest;
$fototext=preg_replace('~[^a-z0-9а-яА-Я\ё\Ё\-\.\,\ \_]~i','',$fototext); // оставляем буквы и цифры
mysql_query("INSERT INTO userfoto (uid,y,m,d,width,height,st,fotoname,fototext) values ('$uid','$dataY','$dataM','$dataD','$width','$height','$st','$fotoname','$fototext')") or die(mysql_error()); // пишем
$bct ='<p align="left"><br><br>Фотография добавлена<br>После прохождения проверки она будет добавлена в каталог.<br>';
} else {
$bct ='<div align="center">неправильный формат файла <br>'.$back.'</div>';
}
} // большой размер
}// размер файла
} // есть ли файл
}