Здесь я объясняю все это, я использую Laravel и использую пакет Image Intervention.
Прежде всего, я получаю свое изображение и отправляю его другой функции для изменения размера и некоторых других функций,если нам это не нужно, вы можете пропустить ...
Захватите файл с методом в моем контроллере,
public function getImageFile(Request $request){
$image = $request->image;
$this->imageUpload($image);
}
Теперь я отправляю его для изменения размера и получения имени изображенияи расширение ...
public function imageUpload($file){
ini_set('memory_limit', '-1');
$directory = 'uploads/';
$name = str_replace([" ", "."], "_", $file->getClientOriginalName()) . "_";
$file_name = $name . time() . rand(1111, 9999) . '.' . $file->getClientOriginalExtension();
//path set
$img_url = $directory.$file_name;
list($width, $height) = getimagesize($file);
$h = ($height/$width)*600;
Image::make($file)->resize(600, $h)->save(public_path($img_url));
$this->image_fix_orientation($file,$img_url);
return $img_url;
}
Теперь я вызываю функцию ориентации моего изображения,
public function image_fix_orientation($file,$img_url ) {
$data = Image::make($file)->exif();
if (!empty($data['Orientation'])) {
$image = imagecreatefromjpeg($file);
switch ($data['Orientation']) {
case 3:
$image = imagerotate($image, 180, 0);
break;
case 6:
$image = imagerotate($image, -90, 0);
break;
case 8:
$image = imagerotate($image, 90, 0);
break;
}
imagejpeg($image, $img_url, 90);
}
}
И это все ...