информация о загружаемой картинке

кекс

Новичок
информация о загружаемой картинке

Когда грузится картинка на сервер, у нее исчезает информация о ней. раньше как-то по барабану было, а тут принесли очень много новых фоток для сайта, ну и некоторые помню что были. подумал а как бы глянуть когда фотка была снята. сохраняю в комп а там кроме того что она 600 на 400 ничего нет.. в исходнике же есть и камера какая и всякая такая фигня, даже глубина съемки.
у меня фотка при загрузке если она больше положеного размера уменьшается..
вопрос: в какую сторону рыть на эту тему?
может там какая хитрость есть?
 

кекс

Новичок
PHP:
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>'; 
				} 
			} // большой размер
		}// размер файла 
	} // есть ли файл
}
может кому пригодится.. заодно покритикуйте!
битые картинки не грузит.. нормальные грузит только фото

не стал резать код, может кому понадобиться

хотелось бы узнать на тему оптимизировать изменить в лучшую сторону и ТД.. PHP не учил.. так помаленьку.. поэтому куда меня отправили (спасибо что не на...) :):) для меня собственно темный лес.. эт че, получается что меня туда и послали?:):)

вобщем если кто подскажет что нужно нажать на то что бы инфо о файлах сохранялось, буду признателен
используется это на www.racheev.ru/mm/ там кстати интересные фотки:)
 
Сверху