如何将上传的图像始终转换为 JPG 格式? [关闭]
Posted
技术标签:
【中文标题】如何将上传的图像始终转换为 JPG 格式? [关闭]【英文标题】:How to convert uploaded images always into JPG format? [closed] 【发布时间】:2013-01-27 17:54:25 【问题描述】:我只是上传:
$path = "上传/";
$actual_image_name = time().$session_id.".".$ext;
$tmp = $_FILES['photoimg']['tmp_name'];
move_uploaded_file($tmp, $path.$actual_image_name);
如何为这个函数添加 imagejpeg?我希望始终以 JPG 格式保存图像。
【问题讨论】:
试试这个:***.com/questions/5060835/… 您是将所有上传文件转换为 .jpg 文件还是只允许上传 .jpg 文件? @diggersworld 我想将任何上传的图片转换为 .jpg 到目前为止你的研究成果是什么? 【参考方案1】:试试这个:
<?php
$path = "uploads/";
$img = $_FILES['photoimg']['tmp_name'];
$dst = $path . $_FILES['photoimg']['name'];
if (($img_info = getimagesize($img)) === FALSE)
die("Image not found or not an image");
$width = $img_info[0];
$height = $img_info[1];
switch ($img_info[2])
case IMAGETYPE_GIF : $src = imagecreatefromgif($img); break;
case IMAGETYPE_JPEG : $src = imagecreatefromjpeg($img); break;
case IMAGETYPE_PNG : $src = imagecreatefrompng($img); break;
default : die("Unknown filetype");
$tmp = imagecreatetruecolor($width, $height);
imagecopyresampled($tmp, $src, 0, 0, 0, 0, $width, $height, $width, $height);
imagejpeg($tmp, $dst.".jpg");
?>
【讨论】:
这给了我一个黑色图像【参考方案2】:确保已安装 GD 库并使用它将 gif 或 png 转换为 jpg 之类的
if ($_FILES["photoimg"]["type"] == "image/jpeg" || $_FILES["photoimg"]["type"] == "image/png" || $_FILES["photoimg"]["type"] == "image/gif" )
if ($_FILES["photoimg"]["type"] == "image/png" || $_FILES["photoimg"]["type"] == "image/gif" )
imagejpeg(imagecreatefromstring(file_get_contents($_FILES["photoimg"]["tmp_name"])), "converted.jpg");
$actual_image_name = time().$session_id.".".$ext;
move_uploaded_file("converted.jpg", $path.$actual_image_name);
else
$actual_image_name = time().$session_id.".".$ext;
$tmp = $_FILES['photoimg']['tmp_name'];
move_uploaded_file($tmp, $path.$actual_image_name);
【讨论】:
我希望允许 png 和 gif,但 png 和 gif 应该转换为 jpg 使用GD库将png和gif转为jpg以上是关于如何将上传的图像始终转换为 JPG 格式? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
通过 Linux 命令将 WEBP 图像转换为 PNG [关闭]