打造一个外贸网站,不仅需要有吸引人的设计,更需要考虑用户的体验。我们的目标是从文案、设计、技术等多个维度出发,构建一个以用户体验为中心、以询盘为导向的营销型外贸网站。让您的客户在短时间内了解您的优势,快速询盘!
外贸网站建设 外贸独立站推广 跨境电商

PB上传图片转换成webp功能开发

时间:2025-06-15   来源:外贸网站建设

webp能将原图压缩30%左右还能保持清楚。所以正在被越来越多的人喜欢。

pb要增这个功能,第一步:找到ueditor中的Uploader.class.php,任意处添加函数。

   /**
 * 将图片转换为WebP格式
 */
private function convertToWebP()
{
    $originalFilePath = $this->filePath; // 保存原始文件路径
    $webpFilePath = preg_replace('/\\\\.(jpg|jpeg|png)$/i', '.webp', $this->filePath);
    $webpFullName = preg_replace('/\\\\.(jpg|jpeg|png)$/i', '.webp', $this->fullName);
    $webpFileName = preg_replace('/\\\\.(jpg|jpeg|png)$/i', '.webp', $this->fileName);

    if ($this->fileType === '.jpg' || $this->fileType === '.jpeg') {
        $image = imagecreatefromjpeg($this->filePath);
    } elseif ($this->fileType === '.png') {
        $image = imagecreatefrompng($this->filePath);
    } else {
        return false;
    }

    if ($image) 
        if (imagewebp($image, $webpFilePath)) {
            $this->filePath = $webpFilePath;
            $this->fullName = $webpFullName;
            $this->fileName = $webpFileName;
            $this->fileType = '.webp';
            $this->fileSize = filesize($webpFilePath);
            imagedestroy($image);
            unlink($originalFilePath); // 删除原始文件而不是WebP文件
            return true;
        }
        imagedestroy($image);
    }
    return false;
}

/**
 * 转换上传的图片为 WebP 格式(不影响原始文件)
 */


第二步:请找到如下代码(大概率出现在函数 handleFile()saveFile() 中):

找到:

$this->stateInfo = $this->stateMap[0];

后添加:

$this->convertToWebP(); // 上传成功后生成 .webp 副本

效果如:

$this->stateInfo = $this->stateMap[0];
$this->convertToWebP(); // 上传成功后生成 .webp 副本


第三步:funtion中的file.php中添加一个函数

// 添加一个新的函数用于转换图片为WebP格式
function convert_to_webp($src, $dest, $quality = 80)
{
    $info = getimagesize($src);
    $is_converted = false;
    switch ($info['mime']) {
        case 'image/jpeg':
            $image = imagecreatefromjpeg($src);
            $is_converted = imagewebp($image, $dest, $quality);
            imagedestroy($image);
            break;
        case 'image/gif':
            // 对于GIF文件,直接返回false,不进行WebP转换
            return false;
            break;
        case 'image/png':
            $image = imagecreatefrompng($src);
            $is_converted = imagewebp($image, $dest, $quality);
            imagedestroy($image);
            break;
        default:
            return false;
    }
    return $is_converted;
}


Ok了




TAG:
下一篇:没有了!
新闻推荐
PB上传图片转换成webp功能开发
PB上传图片转换成webp功能开发

webp能将原图压缩30%左右还能保持清楚。所以正在被越来越多的人喜欢。pb要增这个功能,第一步:找到ueditor...

前端留言需要多文件上传和多字段上传如何写代码?
前端留言需要多文件上传和多字段上传如何写代码?

在外贸网站建设中,我们会遇到有客户说需要用户前端留言的时候可以上传自定义的文件或者图片等资料。那么这...

子目录建站伪静态规则应该如何写。
子目录建站伪静态规则应该如何写。

如果新建了一个网站为中文版,安装到根目录下。然后复制了中文版的数据和内容,安装到子目录下作为英文站点...

如何使用谷歌的人机身份验证功能recaptcha?
如何使用谷歌的人机身份验证功能recaptcha?

像这种谷歌自带的人机身份验证,实际上有很多插件可以实现。但是有客户看他们同行都用的谷歌的这种,也让我...

开启外贸时代,欢迎留言!
留言您的联系方式,我们会第一时间联系您!

Top