Так что сейчас я использую PHP для добавления функции поворота к изображениям.В настоящее время он настроен на работу только с JPEG, но мне нужно разрешить ему работать с файлами изображений PNG и GIF.PNG тем важнее.Итак, в настоящее время мой код:
<?php
include_once('../classes/sitewide-functions.php');
$server_root = $_SERVER['DOCUMENT_ROOT'];
$auction = $_GET['auction'];
$item = $_GET['item'];
$dir = $_GET['dir'];
$img = urldecode($_GET['img']);
$image = explode('/',$img);
//parse out the file name
$folder = '/'.$image[3].'/';
$file = $image[4];
$image = $folder.$file;
$imagePath = $server_root.$image;
//set the correct direction
if ($dir == 'ccw') {
$degrees = 90;
} else {
$degrees = '270';
}
$source = imagecreatefromjpeg($imagePath);
$rotate = imagerotate($source, $degrees, 0);
//delete the old file
unlink($imagePath);
$newFile = 'img_'.$item.'_'.time().'.jpg';
$imageStatus = imagejpeg($rotate, $imagePath);
$typeString = null;
$typeInt = exif_imagetype($imagePath);
switch($typeInt) {
case IMAGETYPE_GIF:
$typeString = 'image/gif';
break;
case IMAGETYPE_JPEG:
$typeString = 'image/jpeg';
break;
case IMAGETYPE_PNG:
$typeString = 'image/png';
break;
default:
$typeString = 'unknown';
}
$imageSize = getimagesize($imagePath);
$imageFileSize = filesize($imagePath);
imagedestroy($source);
imagedestroy($rotate);
$newImage = array(
"name" => array(
0 => $file,
),
"type" => array(
0 => $typeString,
),
"tmp_name" => array(
0 => $imagePath,
),
"error" => array(
0 => $imageStatus,
),
"size" => array(
0 => $imageFileSize,
)
);
processImageSizes($imagePath); ?>
Так что это было у меня сейчас, и это работает для изображений JPEG.Я попытался добавить случай переключения для функций PHP imagecreatefromjpeg и imagejpeg, но когда я добавил их, это привело к тому, что страница перестала работать.Поэтому я не был уверен, что следующий шаг нужно сделать, чтобы этот фрагмент кода работал для png и gif.
РЕДАКТИРОВАТЬ: ошибка, которую я получаю на мертвой странице: HTTP ERROR 500