Pavel6
Новичок
Проблема с сжатием фото
Для сжатия фотографии я написал эту функцию, но она почему то выдает мне ошибку, и предлагает сохранить файл себе на компьютер.
Для это я ставил header();, после выполнения функции, т.е. переходил на другую страницу, чтоб не выдавало мне предложения сохранить файл на сервер.
Я думаю что у меня проблема в функции ImageJpeg
Для сжатия фотографии я написал эту функцию, но она почему то выдает мне ошибку, и предлагает сохранить файл себе на компьютер.
Для это я ставил header();, после выполнения функции, т.е. переходил на другую страницу, чтоб не выдавало мне предложения сохранить файл на сервер.
Я думаю что у меня проблема в функции ImageJpeg
PHP:
<?php
function uploadResize($img,$save_image, $newWidth, $newHeight){
$type = substr(strrchr($save_image,"."),1);
Header("Content-type: image/$type");
switch($type){
case "jpg":
$function_image_create = "ImageCreateFromJpeg";
$function_image_new = "ImageJpeg";
case "jpeg":
$function_image_create = "ImageCreateFromJpeg";
$function_image_new = "ImageJpeg";
break;
case "png":
$function_image_create = "ImageCreateFromPng";
$function_image_new = "ImagePNG";
break;
case "gif":
$function_image_create = "ImageCreateFromGif";
$function_image_new = "ImageGif";
break;
default:
$function_image_create = "ImageCreateFromJpeg";
$function_image_new = "ImageJpeg";
break;
}
$srcImage = @$function_image_create($img);
$srcWidth = ImageSX($srcImage);
$srcHeight = ImageSY($srcImage);
if ( ($newWidth < $srcWidth) || ($newHeight < $srcHeight) ) {
if( $srcWidth < $srcHeight ){
$destWidth = $newWidth * $srcWidth/$srcHeight;
$destHeight = $newHeight;
}else{
$destWidth = $newWidth;
$destHeight = $newHeight * $srcHeight/$srcWidth;
}
}else{ $destWidth = $srcWidth;$destHeight = $srcHeight;}
$destImage = imagecreatetruecolor($destWidth, $destHeight);
ImageCopyResampled( $destImage, $srcImage, 0, 0, 0, 0, $destWidth, $destHeight, $srcWidth, $srcHeight );
@$function_image_new($destImage,$save_image);
ImageDestroy( $srcImage );
ImageDestroy( $destImage );
}
?>