如何将上传的图像始终转换为 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 [关闭]

将 heic 转换为 JPG 并获取文件位置

如何实现从jpg格式到shp图像格式的转换?

如何将图像的字节数组转换为表示 jpg 的 base64 编码字符串

将图像转换为jpg Angular 4

如何将 jp2 图像转换为 jpg 文件?