如何在Laravel中将PNG img转换为JPG img

时间:2020-05-11 22:21:19

标签: php laravel-6 image-conversion

我需要一些将PNG文件转换为JPG的帮助。我尝试了this stack,但没有成功。你能帮我吗?

HTML

<div class="custom-file">
<input type="file" class="custom-file-input" id="logo" name="logo" / >
<label class="custom-file-label" for="logo"></label>
</div>

LARAVEL

$imageName = time().'.'.$request->logo->getClientOriginalExtension();
$request->logo->move(public_path('/dist/img/logo'), $imageName);
$company->logo                      = $imageName;  
$company->save(); 

3 个答案:

答案 0 :(得分:0)

这将为您提供帮助:

$clientFile = pathinfo($_FILES['logo']['name']);
if($clientFlie['extension'] == 'png'){ 
    $ImageNameWithNewExtensionForClient = $clientFile['filename']."jpg";
 }

$ ImageNameWithNewExtensionForClient 移动到所需的任何路径之后。

答案 1 :(得分:0)

可能是您的JPG Support被禁用了。请使用phpinfo()检查。

参考链接https://stackoverflow.com/a/18821624/9533638

OR

您可以使用此格式将png图像转换为jpg。它会起作用。

=> https://github.com/free-open-source/php-image-converter/blob/master/src/ImageConverter.php

答案 2 :(得分:0)

首先安装此Library。 http://image.intervention.io/getting_started/installation

在控制器中导入

use Intervention\Image\Facades\Image;

更改代码

$image = $request->file('logo');
$imageName = time().'.'."jpg";

Image::make($image)->encode('jpg', 65)
            ->save(public_path('/dist/img/logo' . $imageName));
$company->logo                      = $imageName;  
$company->save();