php将用户图像转换为jpg [重复]

Posted

技术标签:

【中文标题】php将用户图像转换为jpg [重复]【英文标题】:php convert user image to jpg [duplicate] 【发布时间】:2013-01-12 17:12:18 【问题描述】:

可能重复:How to convert all images to JPG format in php?

我正在尝试将用户名传递到文件名中并以 .jpg 结尾的文件因此输出将是“user-mycoolnewimage.jpg”。目前有关如何执行此操作的任何建议都是对“randnumber-mycoolnewimage.png”的更改,这不是我想要的。随机数对服务器日志没有帮助,并且图像需要以 jpg 结尾,因为它正在被转换。

$file = rand(0, 10000000).$_FILES['t1']['name'];
if (move_uploaded_file($_FILES['t1']['tmp_name'], $file)) 
    if($fp = fopen($file,"rb", 0)) 
        $picture = fread($fp,filesize($file));
        fclose($fp);
        $image = imagecreatefrompng($file);
        imagejpeg($image, $file, 70);
        imagedestroy($image);
        $tag1 = '<img src="'.$file.'"  class="default" />';
        //unlink($file);        
     

【问题讨论】:

【参考方案1】:

我认为您正在寻找的是basename(记录在here)

您可以做的一件事是修改您的脚本以创建两个不同的$file 变量,一个包含初始png,另一个包含jpeg 路径。完成后,您还需要 unlink 您的 png

$source = $username . "-" . $_FILES['t1']['name'];
$destination = $username . "-" . basename($_FILES['t1']['name']) . ".jpg";
if (move_uploaded_file($_FILES['t1']['tmp_name'], $source)) 
    if($fp = fopen($source,"rb", 0)) 
        $picture = fread($fp,filesize($source));
        fclose($fp);
        $image = imagecreatefrompng($source);
        imagejpeg($image, $destination, 70);
        imagedestroy($image);
        $tag1 = '<img src="'.$file.'"  class="default" />';
        unlink($source);        
     

【讨论】:

以上是关于php将用户图像转换为jpg [重复]的主要内容,如果未能解决你的问题,请参考以下文章

将图像转换为jpg Angular 4

在 OpenCV 中不使用 CvSaveImage 将 Mat 图像转换为 JPG [重复]

在 PHP 中将 JPG/GIF 图像转换为 PNG?

PHP PDF2JPG - 使用ImageMagick将PDF转换为JPG图像

将 jpg UIImage 转换为位图 UIImage?

删除PHP中两个单词之间的空格[重复]