【问题标题】:How do I reduce image size in php?如何在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 的一部分吗?还是只是某种缩小图像的中间件?

标签: php api image-processing file-upload


【解决方案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

【讨论】:

  • 感谢并抱歉错过了欢迎信息,我这样做了,它正在完美地调整图像大小
  • 但是上传照片需要时间!!
猜你喜欢
  • 2014-10-30
  • 2012-08-09
  • 2016-05-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多