微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用PHP批量调整图像大小

我正在维护一个旧网站.现在我的客户想要添加超过6000种产品.产品图像具有不同的尺寸.我必须申请批处理.我必须将它们全部调整为拇指大小230×230.有没有办法从PHP?如果是这样的话?

我必须阅读主图像文件夹中不同文件夹中的所有内容.此图像文件夹有40个子文件夹.每个文件名称都是类别名称,其中的图像是产品(图像).

if(imagecopyresampled($NewCanves, $NewImage,0, 0, 0, 0, $NewWidth, $NewHeight, $iWidth, $iHeight))
{
    // copy file
    if(imagejpeg($NewCanves,$Destimage,$Quality))
    {
        imagedestroy($NewCanves);
        return true;
    }
}

解决方法:

使用PHP,您可以使用读取文件夹内的文件

$images= glob("*"); // * will address all files
// or
$images= glob("*.jpg"); // this will address only jpg images

然后遍历$images

foreach ($images as $filename) {
   //resize the image
   if(resizeImage($imagePath,$destPath,$NewImageWidth,$NewImageHeight,$Quality)){
     echo $filename.' resize Success!<br />';
   }
}

function resizeImage($SrcImage,$Destimage, $MaxWidth,$MaxHeight,$Quality)
{
    list($iWidth,$iHeight,$type)    = getimagesize($SrcImage);

    //if you dont want to rescale image

    $NewWidth=$MaxWidth;
    $NewHeight=$MaxHeight;
    $NewCanves              = imagecreatetruecolor($NewWidth, $NewHeight);

    // Resize Image
    if(imagecopyresampled($NewCanves, $NewImage,0, 0, 0, 0, $NewWidth, $NewHeight, $iWidth, $iHeight))
     {
        // copy file
        if(imagejpeg($NewCanves,$Destimage,$Quality))
        {
            imagedestroy($NewCanves);
            return true;
        }
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐