gpt4 book ai didi

php - 如何使用 PHP 将 "sanitize"图像上传并转换为 PNG?

转载 作者:行者123 更新时间:2023-12-04 14:30:54 24 4
gpt4 key购买 nike

我正在向我的网站添加个人资料图片功能,为了安全起见,我想将图像服务器端转换为 PNG 格式,并从文件中删除额外信息。如果可能的话,它应该是像素到像素的转换。我不需要接受所有格式,只要 PNG 和 JPEG 就可以了。

最佳答案

这个检查文件类型,保留图像的透明度并输出最高质量:

// the uploaded image
$file = $_FILES[0]['tmp_name'];

// Get file info
$data = getimagesize($file);
$mimetype = $data['mime'];

// Creat the image
switch($mimetype){
case("image/png"):
$image = imagecreatefrompng($file);
imagealphablending($image, false);
imagesavealpha($image, true);
break;
case('image/jpeg'):
case('image/pjpeg'):
case('image/x-jps'):
$image = imagecreatefromjpeg($file);
break;
case('image/gif'):
$image = imagecreatefromgif($file);
imagealphablending($image, false);
imagesavealpha($image, true);
break;
default:
throw new Exception("Invalid image type. Only excepts PNG, JPG, and GIF. You entered a {$mimetype} type image.");
}

// Output to browser with maximum quality
imagepng($image, null, 9);

// Or save the image as a file
//imagepng($image, "SavedImageFilename.png", 9);

关于php - 如何使用 PHP 将 "sanitize"图像上传并转换为 PNG?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34424224/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com