PHP Сохранить изображение После 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);
Как сохранить измененное изображение в папку /?
И как я могу определить тип изображения: jpg/png/gif?
Ответы
Ответ 1
Чтобы сохранить изображение в файл, вы можете использовать любой из них: imagejpeg(), imagepng() или imagegif(), в зависимости от желаемого формата вывода.
Чтобы определить тип изображения, вы можете просто проверить расширение файла и основываться на нем. Однако иногда пользователи вручную изменяют расширение файла изображения, думая, что на самом деле изменяет тип изображения, поэтому всегда полезно проверить, не вызвано ли imagecreatefrom ресурсом изображения, а не ложным.
Для быстрого возврата только расширения файла:
$ext = pathinfo($path_to_file, PATHINFO_EXTENSION);
Ручная запись в pathinfo()
Ответ 2
добавить этот код
imagepng($iOut,'pic/mypic.png',3);
& этот код, чтобы получить формат ваших фотографий из внешнего источника
$link='http://example.com/example.png';
echo (substr ($link,strrpos ($link,".")+1));
Ответ 3
Вы можете определить любой тип изображения:
// Save the image as 'simpletext.jpg'
imagejpeg($im, 'path/to/your/image.jpg');
// or another image
imagepng($im, 'path/to/your/image.png');
См. примеры здесь http://php.net/manual/en/function.imagecopyresampled.php
Ответ 4
После того, как вы применили imagecopyresampled()
, $dst_image
будет вашим идентификатором ресурса изображения.
Простое применение функции imagecopyresampled()
автоматически не сохраняет ее в файловой системе.
Поэтому вам нужно будет сохранить его, используя одну из функций imagejpeg()
, imagepng()
// Output
imagejpeg($dst_image, 'new-image.jpg', 100);
Ответ 5
$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.";
}
Ответ 6
для сохранения изображения в виде jpg см. функцию imagejpeg
http://nz.php.net/manual/en/function.imagejpeg.php
чтобы использовать расширение изображения
$path_parts = pathinfo($filename);
echo $path_parts['extension'];