'How to rotate a image and save in folder in php?
I want to rotate a image and save it to the folder using php. How can I achieve that?
The code I have tried so far
$filename = 'pexels-philip-justin-mamelic-2872667.jpg';
$degrees = 180;
header('Content-type: image/jpeg');
$source = imagecreatefromjpeg($filename);
$rotate = imagerotate($source, $degrees, 0);
imagedestroy($source);
imagedestroy($rotate);
How to save the image and see if it the rotation is working?
Solution 1:[1]
So remove:
// header('Content-type: image/jpeg');
and add:
imagejpeg($rotate, 'rotated-image-name.jpg', 80);
Working code:
$filename = 'pexels-philip-justin-mamelic-2872667.jpg';
$degrees = 180;
// header('Content-type: image/jpeg');
$source = imagecreatefromjpeg($filename);
$rotate = imagerotate($source, $degrees, 0);
imagejpeg($rotate, 'rotated-image-name.jpg', 80);
imagedestroy($source);
imagedestroy($rotate);
Solution 2:[2]
You can achieve this by using any image Processing and Generation libraries like Imagick/ GD
Example with GD
You have to use imagerotate function in this cause
Code sample to rotate an image to 180 degree using GD.
$sourceImage = imagecreatefromjpeg('test-design-image.jpg');
$rotateImage = imagerotate($source, 180, 0);
$saveImage = imagejpeg($rotate, 'test-design-rotated.jpg');
imagedestroy($sourceImage);
imagedestroy($rotateImage);
You can use Imagick library also if this library is available with your php.
Example with Imagick::rotateImage
$sourceImage = new Imagick('test-design-image.jpg');
$sourceImage->rotateImage(new \ImagickPixel(), 180);
$sourceImage->writeImage ("test-design-rotated.jpg"); // if it fails, use the
following method
file_put_contents ("test-design-rotated.jpg", $sourceImage);
Imagick may not installed by default with most php and wampp/lampp/xampp installations. You can check with phpinfo() to verify that Imagick is installed or not.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Andrey Belyaev |
| Solution 2 | Vishnu S Vyshakh |
