我需要一些将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();
答案 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();