Так что в настоящее время я использую следующий скрипт на моей веб-станции Synology nas для изменения размера изображений по одному.Он вызывается функцией поста на другой странице каждый раз, когда обрабатывается предыдущий запрос.
$originalFile = 'img1.jpg';
$smallFile = 'img1_small.jpg';
$percentage = 0.2;
$mktime = date('Y-m-d H:i:s', filemtime($originalFile));
$img = imagecreatefromjpeg($originalFile);
list($width, $height) = getimagesize($originalFile);
if(function_exists("exif_read_data")){
$exif = @exif_read_data($originalFile);
if(!empty($exif['Orientation'])) {
switch($exif['Orientation']) {
case 8:
$img = imagerotate($img,90,0);
list($height, $width) = getimagesize($originalFile);
break;
case 3:
$img = imagerotate($img,180,0);
break;
case 6:
$img = imagerotate($img,-90,0);
list($height, $width) = getimagesize($originalFile);
break;
}
}
}
$newWidth = ceil($percentage * $width);
$newHeight = ceil($percentage * $height);
$resized = imagecreatetruecolor($newWidth, $newHeight);
imagecopyresampled($resized, $img, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height);
imagejpeg($resized, $smallFile, 100);
imagedestroy($resized);
Изображения - это изображения, поступающие с камеры, поэтому они почти того качества, которое вы можете получить.Проблема в том, что я не могу запустить Imagick на моем NAS.Я не знаю, как установить это для PHP.
Есть ли какой-нибудь умный способ ускорить процесс, который я здесь делаю?КСТАТИ.Я также запускаю некоторые сценарии sql, поэтому я хотел бы продолжать делать это с помощью php.