'PHP Save Image After imagecopyresampled

$image_p = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);

How can i save the resized image to folder/ ? And how can I detect the image type is jpg/png/gif?



Solution 1:[1]

add this code

imagepng($iOut,'pic/mypic.png',3);

& this code to get your pics format from an external source

$link='http://example.com/example.png';
echo (substr ($link,strrpos ($link,".")+1));

Solution 2:[2]

You can define any type image:

 // Save the image as 'simpletext.jpg'
 imagejpeg($im, 'path/to/your/image.jpg');
 // or another image
 imagepng($im, 'path/to/your/image.png');

See examples here http://php.net/manual/en/function.imagecopyresampled.php

Solution 3:[3]

$filename = 'path/to/original/file.xxx'; // where xxx is file type (jpg, gif, or png)
$newfilename = 'path/to/resized/file.xxx'; // where xxx is file type (jpg, gif, or png)
$path_parts = pathinfo($filename);
if ($path_parts['extension'] == 'jpg') {
    $image_p = imagecreatetruecolor($new_width, $new_height);
    $image = imagecreatefromjpeg($filename);
    imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
    imagejpeg($image_p, $newfilename);
} elseif ($path_parts['extension'] == 'gif') {
    $image_p = imagecreatetruecolor($new_width, $new_height);
    $image = imagecreatefromgif($filename);
    imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
    imagegif($image_p, $newfilename);
} elseif ($path_parts['extension'] == 'png') {
    $image_p = imagecreatetruecolor($new_width, $new_height);
    $image = imagecreatefrompng($filename);
    imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
    imagepng($image_p, $newfilename);
} else {
        echo "Source file is not a supported image file type.";
}

Solution 4:[4]

After you applied imagecopyresampled(), the $dst_image will be your image resource identifier.

Just applying the imagecopyresampled() function does not automagically also save it to the file system.

So you will need to save it, using one of the functions imagejpeg(), imagepng()

// Output
imagejpeg($dst_image, 'new-image.jpg', 100);

Solution 5:[5]

to save image as jpg see imagejpeg function

http://nz.php.net/manual/en/function.imagejpeg.php

to get image extension use

$path_parts = pathinfo($filename);
echo $path_parts['extension'];

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 Pooya Estakhri
Solution 2 zoonman
Solution 3
Solution 4 Valentin Despa
Solution 5 bumperbox