如何在php中减小图像大小?
Posted
技术标签:
【中文标题】如何在php中减小图像大小?【英文标题】:How do I reduce image size in php? 【发布时间】:2020-08-27 17:32:36 【问题描述】:我使用 php 文件作为 API 将照片上传到我的应用 但是图片上传的尺寸很大 我需要减小图像尺寸但保持良好的质量
我正在使用此代码上传照片
$imagearray = json_decode($_POST['img']);
foreach($imagearray as $value)
$data = explode(',', $value);
$imagedata = base64_decode($data[1]);
$nam = genRandomString().'.jpeg';
$target_path='../uploads/'.$nam;
file_put_contents($target_path,$imagedata);
if($imgsname=="")
$imgsname=$nam;
$imgname=$nam;
else
$imgsname=$imgsname.','.$nam;
【问题讨论】:
您需要更好地解释您想要实现的目标。那个 PHP 文件是你上传图片到的 APP 的一部分吗?还是只是某种缩小图像的中间件? 【参考方案1】:首先你好欢迎。请先搜索再提问。
如果您希望使用编码本身来减小大小,您可以在 php 中遵循此代码。
<?php
function compress($source, $destination, $quality)
$info = getimagesize($source);
if ($info['mime'] == 'image/jpeg')
$image = imagecreatefromjpeg($source);
elseif ($info['mime'] == 'image/gif')
$image = imagecreatefromgif($source);
elseif ($info['mime'] == 'image/png')
$image = imagecreatefrompng($source);
imagejpeg($image, $destination, $quality);
return $destination;
$source_img = 'source.jpg';
$destination_img = 'destination .jpg';
$d = compress($source_img, $destination_img, 90);
?>
$d = compress($source_img, $destination_img, 90);
这只是一个 php 函数,它传递源图像(即$source_img
)、目标图像($destination_img
)和需要压缩的图像质量(即 90)。
$info = getimagesize($source);
getimagesize()
函数用于查找任何给定图像文件的大小并返回尺寸以及文件类型。
推荐人:Which is the best PHP method to reduce the image size without losing quality
【讨论】:
感谢并抱歉错过了欢迎信息,我这样做了,它正在完美地调整图像大小 但是上传照片需要时间!!以上是关于如何在php中减小图像大小?的主要内容,如果未能解决你的问题,请参考以下文章